1 /* 2 * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package apple.laf; 27 28 import java.lang.reflect.Field; 29 import java.nio.ByteBuffer; 30 31 import javax.tools.annotation.GenerateNativeHeader; 32 33 public final class JRSUIConstants { 34 private static native long getPtrForConstant(final int constant); 35 36 /* No native methods here, but the constants are needed in the supporting JNI code */ 37 @GenerateNativeHeader 38 static class Key { 39 protected static final int _value = 20; 40 public static final Key VALUE = new Key(_value); 41 42 protected static final int _thumbProportion = 24; 43 public static final Key THUMB_PROPORTION = new Key(_thumbProportion); 44 45 protected static final int _thumbStart = 25; 46 public static final Key THUMB_START = new Key(_thumbStart); 47 48 protected static final int _windowTitleBarHeight = 28; 49 public static final Key WINDOW_TITLE_BAR_HEIGHT = new Key(_windowTitleBarHeight); 50 51 protected static final int _animationFrame = 23; 52 public static final Key ANIMATION_FRAME = new Key(_animationFrame); 53 54 final int constant; 55 private long ptr; 56 57 private Key(final int constant) { 58 this.constant = constant; 59 } 60 61 long getConstantPtr() { 62 if (ptr != 0) return ptr; 63 ptr = getPtrForConstant(constant); 64 if (ptr != 0) return ptr; 65 throw new RuntimeException("Constant not implemented in native: " + this); 66 } 67 68 public String toString() { 69 return getConstantName(this) + (ptr == 0 ? "(unlinked)" : ""); 70 } 71 } 72 73 /* No native methods here, but the constants are needed in the supporting JNI code */ 74 @GenerateNativeHeader 75 static class DoubleValue { 76 protected static final byte TYPE_CODE = 1; 77 78 final double doubleValue; 79 80 DoubleValue(final double doubleValue) { 81 this.doubleValue = doubleValue; 82 } 83 84 public byte getTypeCode() { 85 return TYPE_CODE; 86 } 87 88 public void putValueInBuffer(final ByteBuffer buffer) { 89 buffer.putDouble(doubleValue); 90 } 91 92 public boolean equals(final Object obj) { 93 return (obj instanceof DoubleValue) && (((DoubleValue)obj).doubleValue == doubleValue); 94 } 95 96 public int hashCode() { 122 Property(final PropertyEncoding encoding, final byte ordinal) { 123 this.encoding = encoding; 124 this.value = ((long)ordinal) << encoding.shift; 125 this.ordinal = ordinal; 126 } 127 128 /** 129 * Applies this property value to the provided state 130 * @param encodedState the incoming JRSUI encoded state 131 * @return the composite of the provided JRSUI encoded state and this value 132 */ 133 public long apply(final long encodedState) { 134 return (encodedState & ~encoding.mask) | value; 135 } 136 137 public String toString() { 138 return getConstantName(this); 139 } 140 } 141 142 /* No native methods here, but the constants are needed in the supporting JNI code */ 143 @GenerateNativeHeader 144 public static class Size extends Property { 145 private static final byte SHIFT = 0; 146 private static final byte SIZE = 3; 147 private static final long MASK = (long)0x7 << SHIFT; 148 private static final PropertyEncoding size = new PropertyEncoding(MASK, SHIFT); 149 150 Size(final byte value) { 151 super(size, value); 152 } 153 154 private static final byte _mini = 1; 155 public static final Size MINI = new Size(_mini); 156 private static final byte _small = 2; 157 public static final Size SMALL = new Size(_small); 158 private static final byte _regular = 3; 159 public static final Size REGULAR = new Size(_regular); 160 private static final byte _large = 4; 161 public static final Size LARGE = new Size(_large); 162 } 163 164 /* No native methods here, but the constants are needed in the supporting JNI code */ 165 @GenerateNativeHeader 166 public static class State extends Property { 167 private static final byte SHIFT = Size.SHIFT + Size.SIZE; 168 private static final byte SIZE = 4; 169 private static final long MASK = (long)0xF << SHIFT; 170 private static final PropertyEncoding state = new PropertyEncoding(MASK, SHIFT); 171 172 State(final byte value) { 173 super(state, value); 174 } 175 176 private static final byte _active = 1; 177 public static final State ACTIVE = new State(_active); 178 private static final byte _inactive = 2; 179 public static final State INACTIVE = new State(_inactive); 180 private static final byte _disabled = 3; 181 public static final State DISABLED = new State(_disabled); 182 private static final byte _pressed = 4; 183 public static final State PRESSED = new State(_pressed); 184 private static final byte _pulsed = 5; 185 public static final State PULSED = new State(_pulsed); 186 private static final byte _rollover = 6; 187 public static final State ROLLOVER = new State(_rollover); 188 private static final byte _drag = 7; 189 public static final State DRAG = new State(_drag); 190 } 191 192 /* No native methods here, but the constants are needed in the supporting JNI code */ 193 @GenerateNativeHeader 194 public static class Direction extends Property { 195 private static final byte SHIFT = State.SHIFT + State.SIZE; 196 private static final byte SIZE = 4; 197 private static final long MASK = (long)0xF << SHIFT; 198 private static final PropertyEncoding direction = new PropertyEncoding(MASK, SHIFT); 199 200 Direction(final byte value) { 201 super(direction, value); 202 } 203 204 private static final byte _none = 1; 205 public static final Direction NONE = new Direction(_none); 206 private static final byte _up = 2; 207 public static final Direction UP = new Direction(_up); 208 private static final byte _down = 3; 209 public static final Direction DOWN = new Direction(_down); 210 private static final byte _left = 4; 211 public static final Direction LEFT = new Direction(_left); 212 private static final byte _right = 5; 213 public static final Direction RIGHT = new Direction(_right); 214 private static final byte _north = 6; 215 public static final Direction NORTH = new Direction(_north); 216 private static final byte _south = 7; 217 public static final Direction SOUTH = new Direction(_south); 218 private static final byte _east = 8; 219 public static final Direction EAST = new Direction(_east); 220 private static final byte _west = 9; 221 public static final Direction WEST = new Direction(_west); 222 } 223 224 /* No native methods here, but the constants are needed in the supporting JNI code */ 225 @GenerateNativeHeader 226 public static class Orientation extends Property { 227 private static final byte SHIFT = Direction.SHIFT + Direction.SIZE; 228 private static final byte SIZE = 2; 229 private static final long MASK = (long)0x3 << SHIFT; 230 private static final PropertyEncoding orientation = new PropertyEncoding(MASK, SHIFT); 231 232 Orientation(final byte value) { 233 super(orientation, value); 234 } 235 236 private static final byte _horizontal = 1; 237 public static final Orientation HORIZONTAL = new Orientation(_horizontal); 238 private static final byte _vertical = 2; 239 public static final Orientation VERTICAL = new Orientation(_vertical); 240 } 241 242 /* No native methods here, but the constants are needed in the supporting JNI code */ 243 @GenerateNativeHeader 244 public static class AlignmentVertical extends Property { 245 private static final byte SHIFT = Orientation.SHIFT + Orientation.SIZE; 246 private static final byte SIZE = 2; 247 private static final long MASK = (long)0x3 << SHIFT; 248 private static final PropertyEncoding alignmentVertical = new PropertyEncoding(MASK, SHIFT); 249 250 AlignmentVertical(final byte value){ 251 super(alignmentVertical, value); 252 } 253 254 private static final byte _top = 1; 255 public static final AlignmentVertical TOP = new AlignmentVertical(_top); 256 private static final byte _center = 2; 257 public static final AlignmentVertical CENTER = new AlignmentVertical(_center); 258 private static final byte _bottom = 3; 259 public static final AlignmentVertical BOTTOM = new AlignmentVertical(_bottom); 260 } 261 262 /* No native methods here, but the constants are needed in the supporting JNI code */ 263 @GenerateNativeHeader 264 public static class AlignmentHorizontal extends Property { 265 private static final byte SHIFT = AlignmentVertical.SHIFT + AlignmentVertical.SIZE; 266 private static final byte SIZE = 2; 267 private static final long MASK = (long)0x3 << SHIFT; 268 private static final PropertyEncoding alignmentHorizontal = new PropertyEncoding(MASK, SHIFT); 269 270 AlignmentHorizontal(final byte value){ 271 super(alignmentHorizontal, value); 272 } 273 274 private static final byte _left = 1; 275 public static final AlignmentHorizontal LEFT = new AlignmentHorizontal(_left); 276 private static final byte _center = 2; 277 public static final AlignmentHorizontal CENTER = new AlignmentHorizontal(_center); 278 private static final byte _right = 3; 279 public static final AlignmentHorizontal RIGHT = new AlignmentHorizontal(_right); 280 } 281 282 /* No native methods here, but the constants are needed in the supporting JNI code */ 283 @GenerateNativeHeader 284 public static class SegmentPosition extends Property { 285 private static final byte SHIFT = AlignmentHorizontal.SHIFT + AlignmentHorizontal.SIZE; 286 private static final byte SIZE = 3; 287 private static final long MASK = (long)0x7 << SHIFT; 288 private static final PropertyEncoding segmentPosition = new PropertyEncoding(MASK, SHIFT); 289 290 SegmentPosition(final byte value) { 291 super(segmentPosition, value); 292 } 293 294 private static final byte _first = 1; 295 public static final SegmentPosition FIRST = new SegmentPosition(_first); 296 private static final byte _middle = 2; 297 public static final SegmentPosition MIDDLE = new SegmentPosition(_middle); 298 private static final byte _last = 3; 299 public static final SegmentPosition LAST = new SegmentPosition(_last); 300 private static final byte _only = 4; 301 public static final SegmentPosition ONLY = new SegmentPosition(_only); 302 } 303 304 /* No native methods here, but the constants are needed in the supporting JNI code */ 305 @GenerateNativeHeader 306 public static class ScrollBarPart extends Property { 307 private static final byte SHIFT = SegmentPosition.SHIFT + SegmentPosition.SIZE; 308 private static final byte SIZE = 4; 309 private static final long MASK = (long)0xF << SHIFT; 310 private static final PropertyEncoding scrollBarPart = new PropertyEncoding(MASK, SHIFT); 311 312 ScrollBarPart(final byte value) { 313 super(scrollBarPart, value); 314 } 315 316 private static final byte _none = 1; 317 public static final ScrollBarPart NONE = new ScrollBarPart(_none); 318 private static final byte _thumb = 2; 319 public static final ScrollBarPart THUMB = new ScrollBarPart(_thumb); 320 private static final byte _arrowMin = 3; 321 public static final ScrollBarPart ARROW_MIN = new ScrollBarPart(_arrowMin); 322 private static final byte _arrowMax = 4; 323 public static final ScrollBarPart ARROW_MAX = new ScrollBarPart(_arrowMax); 324 private static final byte _arrowMaxInside = 5; 325 public static final ScrollBarPart ARROW_MAX_INSIDE = new ScrollBarPart(_arrowMaxInside); 326 private static final byte _arrowMinInside = 6; 327 public static final ScrollBarPart ARROW_MIN_INSIDE = new ScrollBarPart(_arrowMinInside); 328 private static final byte _trackMin = 7; 329 public static final ScrollBarPart TRACK_MIN = new ScrollBarPart(_trackMin); 330 private static final byte _trackMax = 8; 331 public static final ScrollBarPart TRACK_MAX = new ScrollBarPart(_trackMax); 332 } 333 334 /* No native methods here, but the constants are needed in the supporting JNI code */ 335 @GenerateNativeHeader 336 public static class Variant extends Property { 337 private static final byte SHIFT = ScrollBarPart.SHIFT + ScrollBarPart.SIZE; 338 private static final byte SIZE = 4; 339 private static final long MASK = (long)0xF << SHIFT; 340 private static final PropertyEncoding variant = new PropertyEncoding(MASK, SHIFT); 341 342 Variant(final byte value) { 343 super(variant, value); 344 } 345 346 private static final byte _menuGlyph = 1; 347 public static final Variant MENU_GLYPH = new Variant(_menuGlyph); 348 private static final byte _menuPopup = Variant._menuGlyph + 1; 349 public static final Variant MENU_POPUP = new Variant(_menuPopup); 350 private static final byte _menuPulldown = Variant._menuPopup + 1; 351 public static final Variant MENU_PULLDOWN = new Variant(_menuPulldown); 352 private static final byte _menuHierarchical = Variant._menuPulldown + 1; 353 public static final Variant MENU_HIERARCHICAL = new Variant(_menuHierarchical); 354 355 private static final byte _gradientListBackgroundEven = Variant._menuHierarchical + 1; 356 public static final Variant GRADIENT_LIST_BACKGROUND_EVEN = new Variant(_gradientListBackgroundEven); 357 private static final byte _gradientListBackgroundOdd = Variant._gradientListBackgroundEven + 1; 358 public static final Variant GRADIENT_LIST_BACKGROUND_ODD = new Variant(_gradientListBackgroundOdd); 359 private static final byte _gradientSideBar = Variant._gradientListBackgroundOdd + 1; 360 public static final Variant GRADIENT_SIDE_BAR = new Variant(_gradientSideBar); 361 private static final byte _gradientSideBarSelection = Variant._gradientSideBar + 1; 362 public static final Variant GRADIENT_SIDE_BAR_SELECTION = new Variant(_gradientSideBarSelection); 363 private static final byte _gradientSideBarFocusedSelection = Variant._gradientSideBarSelection + 1; 364 public static final Variant GRADIENT_SIDE_BAR_FOCUSED_SELECTION = new Variant(_gradientSideBarFocusedSelection); 365 } 366 367 /* No native methods here, but the constants are needed in the supporting JNI code */ 368 @GenerateNativeHeader 369 public static class WindowType extends Property { 370 private static final byte SHIFT = Variant.SHIFT + Variant.SIZE; 371 private static final byte SIZE = 2; 372 private static final long MASK = (long)0x3 << SHIFT; 373 private static final PropertyEncoding windowType = new PropertyEncoding(MASK, SHIFT); 374 375 WindowType(final byte value){ 376 super(windowType, value); 377 } 378 379 private static final byte _document = 1; 380 public static final WindowType DOCUMENT = new WindowType(_document); 381 private static final byte _utility = 2; 382 public static final WindowType UTILITY = new WindowType(_utility); 383 private static final byte _titlelessUtility = 3; 384 public static final WindowType TITLELESS_UTILITY = new WindowType(_titlelessUtility); 385 } 386 387 /* No native methods here, but the constants are needed in the supporting JNI code */ 388 @GenerateNativeHeader 389 public static class Focused extends Property { 390 private static final byte SHIFT = WindowType.SHIFT + WindowType.SIZE; 391 private static final byte SIZE = 1; 392 private static final long MASK = (long)0x1 << SHIFT; 393 private static final PropertyEncoding focused = new PropertyEncoding(MASK, SHIFT); 394 395 Focused(final byte value) { 396 super(focused, value); 397 } 398 399 private static final byte _no = 0; 400 public static final Focused NO = new Focused(_no); 401 private static final byte _yes = 1; 402 public static final Focused YES = new Focused(_yes); 403 } 404 405 /* No native methods here, but the constants are needed in the supporting JNI code */ 406 @GenerateNativeHeader 407 public static class IndicatorOnly extends Property { 408 private static final byte SHIFT = Focused.SHIFT + Focused.SIZE; 409 private static final byte SIZE = 1; 410 private static final long MASK = (long)0x1 << SHIFT; 411 private static final PropertyEncoding indicatorOnly = new PropertyEncoding(MASK, SHIFT); 412 413 IndicatorOnly(final byte value) { 414 super(indicatorOnly, value); 415 } 416 417 private static final byte _no = 0; 418 public static final IndicatorOnly NO = new IndicatorOnly(_no); 419 private static final byte _yes = 1; 420 public static final IndicatorOnly YES = new IndicatorOnly(_yes); 421 } 422 423 /* No native methods here, but the constants are needed in the supporting JNI code */ 424 @GenerateNativeHeader 425 public static class NoIndicator extends Property { 426 private static final byte SHIFT = IndicatorOnly.SHIFT + IndicatorOnly.SIZE; 427 private static final byte SIZE = 1; 428 private static final long MASK = (long)0x1 << SHIFT; 429 private static final PropertyEncoding noIndicator = new PropertyEncoding(MASK, SHIFT); 430 431 NoIndicator(final byte value) { 432 super(noIndicator, value); 433 } 434 435 private static final byte _no = 0; 436 public static final NoIndicator NO = new NoIndicator(_no); 437 private static final byte _yes = 1; 438 public static final NoIndicator YES = new NoIndicator(_yes); 439 } 440 441 /* No native methods here, but the constants are needed in the supporting JNI code */ 442 @GenerateNativeHeader 443 public static class ArrowsOnly extends Property { 444 private static final byte SHIFT = NoIndicator.SHIFT + NoIndicator.SIZE; 445 private static final byte SIZE = 1; 446 private static final long MASK = (long)0x1 << SHIFT; 447 private static final PropertyEncoding focused = new PropertyEncoding(MASK, SHIFT); 448 449 ArrowsOnly(final byte value) { 450 super(focused, value); 451 } 452 453 private static final byte _no = 0; 454 public static final ArrowsOnly NO = new ArrowsOnly(_no); 455 private static final byte _yes = 1; 456 public static final ArrowsOnly YES = new ArrowsOnly(_yes); 457 } 458 459 /* No native methods here, but the constants are needed in the supporting JNI code */ 460 @GenerateNativeHeader 461 public static class FrameOnly extends Property { 462 private static final byte SHIFT = ArrowsOnly.SHIFT + ArrowsOnly.SIZE; 463 private static final byte SIZE = 1; 464 private static final long MASK = (long)0x1 << SHIFT; 465 private static final PropertyEncoding focused = new PropertyEncoding(MASK, SHIFT); 466 467 FrameOnly(final byte value) { 468 super(focused, value); 469 } 470 471 private static final byte _no = 0; 472 public static final FrameOnly NO = new FrameOnly(_no); 473 private static final byte _yes = 1; 474 public static final FrameOnly YES = new FrameOnly(_yes); 475 } 476 477 /* No native methods here, but the constants are needed in the supporting JNI code */ 478 @GenerateNativeHeader 479 public static class SegmentTrailingSeparator extends Property { 480 private static final byte SHIFT = FrameOnly.SHIFT + FrameOnly.SIZE; 481 private static final byte SIZE = 1; 482 private static final long MASK = (long)0x1 << SHIFT; 483 private static final PropertyEncoding focused = new PropertyEncoding(MASK, SHIFT); 484 485 SegmentTrailingSeparator(final byte value) { 486 super(focused, value); 487 } 488 489 private static final byte _no = 0; 490 public static final SegmentTrailingSeparator NO = new SegmentTrailingSeparator(_no); 491 private static final byte _yes = 1; 492 public static final SegmentTrailingSeparator YES = new SegmentTrailingSeparator(_yes); 493 } 494 495 /* No native methods here, but the constants are needed in the supporting JNI code */ 496 @GenerateNativeHeader 497 public static class SegmentLeadingSeparator extends Property { 498 private static final byte SHIFT = SegmentTrailingSeparator.SHIFT + SegmentTrailingSeparator.SIZE; 499 private static final byte SIZE = 1; 500 private static final long MASK = (long)0x1 << SHIFT; 501 private static final PropertyEncoding leadingSeparator = new PropertyEncoding(MASK, SHIFT); 502 503 SegmentLeadingSeparator(final byte value) { 504 super(leadingSeparator, value); 505 } 506 507 private static final byte _no = 0; 508 public static final SegmentLeadingSeparator NO = new SegmentLeadingSeparator(_no); 509 private static final byte _yes = 1; 510 public static final SegmentLeadingSeparator YES = new SegmentLeadingSeparator(_yes); 511 } 512 513 /* No native methods here, but the constants are needed in the supporting JNI code */ 514 @GenerateNativeHeader 515 public static class NothingToScroll extends Property { 516 private static final byte SHIFT = SegmentLeadingSeparator.SHIFT + SegmentLeadingSeparator.SIZE; 517 private static final byte SIZE = 1; 518 private static final long MASK = (long)0x1 << SHIFT; 519 private static final PropertyEncoding focused = new PropertyEncoding(MASK, SHIFT); 520 521 NothingToScroll(final byte value) { 522 super(focused, value); 523 } 524 525 private static final byte _no = 0; 526 public static final NothingToScroll NO = new NothingToScroll(_no); 527 private static final byte _yes = 1; 528 public static final NothingToScroll YES = new NothingToScroll(_yes); 529 } 530 531 /* No native methods here, but the constants are needed in the supporting JNI code */ 532 @GenerateNativeHeader 533 public static class WindowTitleBarSeparator extends Property { 534 private static final byte SHIFT = NothingToScroll.SHIFT + NothingToScroll.SIZE; 535 private static final byte SIZE = 1; 536 private static final long MASK = (long)0x1 << SHIFT; 537 private static final PropertyEncoding focused = new PropertyEncoding(MASK, SHIFT); 538 539 WindowTitleBarSeparator(final byte value) { 540 super(focused, value); 541 } 542 543 private static final byte _no = 0; 544 public static final WindowTitleBarSeparator NO = new WindowTitleBarSeparator(_no); 545 private static final byte _yes = 1; 546 public static final WindowTitleBarSeparator YES = new WindowTitleBarSeparator(_yes); 547 } 548 549 /* No native methods here, but the constants are needed in the supporting JNI code */ 550 @GenerateNativeHeader 551 public static class WindowClipCorners extends Property { 552 private static final byte SHIFT = WindowTitleBarSeparator.SHIFT + WindowTitleBarSeparator.SIZE; 553 private static final byte SIZE = 1; 554 private static final long MASK = (long)0x1 << SHIFT; 555 private static final PropertyEncoding focused = new PropertyEncoding(MASK, SHIFT); 556 557 WindowClipCorners(final byte value) { 558 super(focused, value); 559 } 560 561 private static final byte _no = 0; 562 public static final WindowClipCorners NO = new WindowClipCorners(_no); 563 private static final byte _yes = 1; 564 public static final WindowClipCorners YES = new WindowClipCorners(_yes); 565 } 566 567 /* No native methods here, but the constants are needed in the supporting JNI code */ 568 @GenerateNativeHeader 569 public static class ShowArrows extends Property { 570 private static final byte SHIFT = WindowClipCorners.SHIFT + WindowClipCorners.SIZE; 571 private static final byte SIZE = 1; 572 private static final long MASK = (long)0x1 << SHIFT; 573 private static final PropertyEncoding showArrows = new PropertyEncoding(MASK, SHIFT); 574 575 ShowArrows(final byte value) { 576 super(showArrows, value); 577 } 578 579 private static final byte _no = 0; 580 public static final ShowArrows NO = new ShowArrows(_no); 581 private static final byte _yes = 1; 582 public static final ShowArrows YES = new ShowArrows(_yes); 583 } 584 585 /* No native methods here, but the constants are needed in the supporting JNI code */ 586 @GenerateNativeHeader 587 public static class BooleanValue extends Property { 588 private static final byte SHIFT = ShowArrows.SHIFT + ShowArrows.SIZE; 589 private static final byte SIZE = 1; 590 private static final long MASK = (long)0x1 << SHIFT; 591 private static final PropertyEncoding booleanValue = new PropertyEncoding(MASK, SHIFT); 592 593 BooleanValue(final byte value) { 594 super(booleanValue, value); 595 } 596 597 private static final byte _no = 0; 598 public static final BooleanValue NO = new BooleanValue(_no); 599 private static final byte _yes = 1; 600 public static final BooleanValue YES = new BooleanValue(_yes); 601 } 602 603 /* No native methods here, but the constants are needed in the supporting JNI code */ 604 @GenerateNativeHeader 605 public static class Animating extends Property { 606 private static final byte SHIFT = BooleanValue.SHIFT + BooleanValue.SIZE; 607 private static final byte SIZE = 1; 608 private static final long MASK = (long)0x1 << SHIFT; 609 private static final PropertyEncoding animating = new PropertyEncoding(MASK, SHIFT); 610 611 Animating(final byte value) { 612 super(animating, value); 613 } 614 615 private static final byte _no = 0; 616 public static final Animating NO = new Animating(_no); 617 private static final byte _yes = 1; 618 public static final Animating YES = new Animating(_yes); 619 } 620 621 /* No native methods here, but the constants are needed in the supporting JNI code */ 622 @GenerateNativeHeader 623 public static class Widget extends Property { 624 private static final byte SHIFT = Animating.SHIFT + Animating.SIZE; 625 private static final byte SIZE = 7; 626 private static final long MASK = (long)0x7F << SHIFT; 627 private static final PropertyEncoding widget = new PropertyEncoding(MASK, SHIFT); 628 629 Widget(final byte constant) { 630 super(widget, constant); 631 } 632 633 private static final byte _background = 1; 634 public static final Widget BACKGROUND = new Widget(_background); 635 636 private static final byte _buttonBevel = _background + 1; 637 public static final Widget BUTTON_BEVEL = new Widget(_buttonBevel); 638 private static final byte _buttonBevelInset = _buttonBevel + 1; 639 public static final Widget BUTTON_BEVEL_INSET = new Widget(_buttonBevelInset); 640 private static final byte _buttonBevelRound = _buttonBevelInset + 1; 641 public static final Widget BUTTON_BEVEL_ROUND = new Widget(_buttonBevelRound); 642 643 private static final byte _buttonCheckBox = _buttonBevelRound + 1; 644 public static final Widget BUTTON_CHECK_BOX = new Widget(_buttonCheckBox); 645 646 private static final byte _buttonComboBox = _buttonCheckBox + 1; 647 public static final Widget BUTTON_COMBO_BOX = new Widget(_buttonComboBox); 648 private static final byte _buttonComboBoxInset = _buttonComboBox + 1; 649 public static final Widget BUTTON_COMBO_BOX_INSET = new Widget(_buttonComboBoxInset); // not hooked up in JRSUIConstants.m 650 651 private static final byte _buttonDisclosure = _buttonComboBoxInset + 1; 652 public static final Widget BUTTON_DISCLOSURE = new Widget(_buttonDisclosure); 653 654 private static final byte _buttonListHeader = _buttonDisclosure + 1; 655 public static final Widget BUTTON_LIST_HEADER = new Widget(_buttonListHeader); 656 657 private static final byte _buttonLittleArrows = _buttonListHeader + 1; 658 public static final Widget BUTTON_LITTLE_ARROWS = new Widget(_buttonLittleArrows); 659 660 private static final byte _buttonPopDown = _buttonLittleArrows + 1; 661 public static final Widget BUTTON_POP_DOWN = new Widget(_buttonPopDown); 662 private static final byte _buttonPopDownInset = _buttonPopDown + 1; 663 public static final Widget BUTTON_POP_DOWN_INSET = new Widget(_buttonPopDownInset); 664 private static final byte _buttonPopDownSquare = _buttonPopDownInset + 1; 665 public static final Widget BUTTON_POP_DOWN_SQUARE = new Widget(_buttonPopDownSquare); 666 667 private static final byte _buttonPopUp = _buttonPopDownSquare + 1; 668 public static final Widget BUTTON_POP_UP = new Widget(_buttonPopUp); 669 private static final byte _buttonPopUpInset = _buttonPopUp + 1; 670 public static final Widget BUTTON_POP_UP_INSET = new Widget(_buttonPopUpInset); 671 private static final byte _buttonPopUpSquare = _buttonPopUpInset + 1; 672 public static final Widget BUTTON_POP_UP_SQUARE = new Widget(_buttonPopUpSquare); 673 674 private static final byte _buttonPush = _buttonPopUpSquare + 1; 675 public static final Widget BUTTON_PUSH = new Widget(_buttonPush); 676 private static final byte _buttonPushScope = _buttonPush + 1; 677 public static final Widget BUTTON_PUSH_SCOPE = new Widget(_buttonPushScope); 678 private static final byte _buttonPushScope2 = _buttonPushScope + 1; 679 public static final Widget BUTTON_PUSH_SCOPE2 = new Widget(_buttonPushScope2); 680 private static final byte _buttonPushTextured = _buttonPushScope2 + 1; 681 public static final Widget BUTTON_PUSH_TEXTURED = new Widget(_buttonPushTextured); 682 private static final byte _buttonPushInset = _buttonPushTextured + 1; 683 public static final Widget BUTTON_PUSH_INSET = new Widget(_buttonPushInset); 684 private static final byte _buttonPushInset2 = _buttonPushInset + 1; 685 public static final Widget BUTTON_PUSH_INSET2 = new Widget(_buttonPushInset2); 686 687 private static final byte _buttonRadio = _buttonPushInset2 + 1; 688 public static final Widget BUTTON_RADIO = new Widget(_buttonRadio); 689 690 private static final byte _buttonRound = _buttonRadio + 1; 691 public static final Widget BUTTON_ROUND = new Widget(_buttonRound); 692 private static final byte _buttonRoundHelp = _buttonRound + 1; 693 public static final Widget BUTTON_ROUND_HELP = new Widget(_buttonRoundHelp); 694 private static final byte _buttonRoundInset = _buttonRoundHelp + 1; 695 public static final Widget BUTTON_ROUND_INSET = new Widget(_buttonRoundInset); 696 private static final byte _buttonRoundInset2 =_buttonRoundInset + 1; 697 public static final Widget BUTTON_ROUND_INSET2 = new Widget(_buttonRoundInset2); 698 699 private static final byte _buttonSearchFieldCancel = _buttonRoundInset2 + 1; 700 public static final Widget BUTTON_SEARCH_FIELD_CANCEL = new Widget(_buttonSearchFieldCancel); 701 private static final byte _buttonSearchFieldFind = _buttonSearchFieldCancel + 1; 702 public static final Widget BUTTON_SEARCH_FIELD_FIND = new Widget(_buttonSearchFieldFind); 703 704 private static final byte _buttonSegmented = _buttonSearchFieldFind + 1; 705 public static final Widget BUTTON_SEGMENTED = new Widget(_buttonSegmented); 706 private static final byte _buttonSegmentedInset = _buttonSegmented + 1; 707 public static final Widget BUTTON_SEGMENTED_INSET = new Widget(_buttonSegmentedInset); 708 private static final byte _buttonSegmentedInset2 = _buttonSegmentedInset + 1; 709 public static final Widget BUTTON_SEGMENTED_INSET2 = new Widget(_buttonSegmentedInset2); 710 private static final byte _buttonSegmentedSCurve = _buttonSegmentedInset2 + 1; 711 public static final Widget BUTTON_SEGMENTED_SCURVE = new Widget(_buttonSegmentedSCurve); 712 private static final byte _buttonSegmentedTextured = _buttonSegmentedSCurve + 1; 713 public static final Widget BUTTON_SEGMENTED_TEXTURED = new Widget(_buttonSegmentedTextured); 714 private static final byte _buttonSegmentedToolbar = _buttonSegmentedTextured + 1; 715 public static final Widget BUTTON_SEGMENTED_TOOLBAR = new Widget(_buttonSegmentedToolbar); 716 717 private static final byte _dial = _buttonSegmentedToolbar + 1; 718 public static final Widget DIAL = new Widget(_dial); 719 720 private static final byte _disclosureTriangle = _dial + 1; 721 public static final Widget DISCLOSURE_TRIANGLE = new Widget(_disclosureTriangle); 722 723 private static final byte _dividerGrabber = _disclosureTriangle + 1; 724 public static final Widget DIVIDER_GRABBER = new Widget(_dividerGrabber); 725 private static final byte _dividerSeparatorBar = _dividerGrabber + 1; 726 public static final Widget DIVIDER_SEPARATOR_BAR = new Widget(_dividerSeparatorBar); 727 private static final byte _dividerSplitter = _dividerSeparatorBar + 1; 728 public static final Widget DIVIDER_SPLITTER = new Widget(_dividerSplitter); 729 730 private static final byte _focus = _dividerSplitter + 1; 731 public static final Widget FOCUS = new Widget(_focus); 732 733 private static final byte _frameGroupBox = _focus + 1; 734 public static final Widget FRAME_GROUP_BOX = new Widget(_frameGroupBox); 735 private static final byte _frameGroupBoxSecondary = _frameGroupBox + 1; 736 public static final Widget FRAME_GROUP_BOX_SECONDARY = new Widget(_frameGroupBoxSecondary); 737 738 private static final byte _frameListBox = _frameGroupBoxSecondary + 1; 739 public static final Widget FRAME_LIST_BOX = new Widget(_frameListBox); 740 741 private static final byte _framePlacard = _frameListBox + 1; 742 public static final Widget FRAME_PLACARD = new Widget(_framePlacard); 743 744 private static final byte _frameTextField = _framePlacard + 1; 745 public static final Widget FRAME_TEXT_FIELD = new Widget(_frameTextField); 746 private static final byte _frameTextFieldRound = _frameTextField + 1; 747 public static final Widget FRAME_TEXT_FIELD_ROUND = new Widget(_frameTextFieldRound); 748 749 private static final byte _frameWell = _frameTextFieldRound + 1; 750 public static final Widget FRAME_WELL = new Widget(_frameWell); 751 752 private static final byte _growBox = _frameWell + 1; 753 public static final Widget GROW_BOX = new Widget(_growBox); 754 private static final byte _growBoxTextured = _growBox + 1; 755 public static final Widget GROW_BOX_TEXTURED = new Widget(_growBoxTextured); 756 757 private static final byte _gradient = _growBoxTextured + 1; 758 public static final Widget GRADIENT = new Widget(_gradient); 759 760 private static final byte _menu = _gradient + 1; 761 public static final Widget MENU = new Widget(_menu); 762 private static final byte _menuItem = _menu + 1; 763 public static final Widget MENU_ITEM = new Widget(_menuItem); 764 private static final byte _menuBar = _menuItem + 1; 765 public static final Widget MENU_BAR = new Widget(_menuBar); 766 private static final byte _menuTitle = _menuBar + 1; 767 public static final Widget MENU_TITLE = new Widget(_menuTitle); 768 769 private static final byte _progressBar = _menuTitle + 1; 770 public static final Widget PROGRESS_BAR = new Widget(_progressBar); 771 private static final byte _progressIndeterminateBar = _progressBar + 1; 772 public static final Widget PROGRESS_INDETERMINATE_BAR = new Widget(_progressIndeterminateBar); 773 private static final byte _progressRelevance = _progressIndeterminateBar + 1; 774 public static final Widget PROGRESS_RELEVANCE = new Widget(_progressRelevance); 775 private static final byte _progressSpinner = _progressRelevance + 1; 776 public static final Widget PROGRESS_SPINNER = new Widget(_progressSpinner); 777 778 private static final byte _scrollBar = _progressSpinner + 1; 779 public static final Widget SCROLL_BAR = new Widget(_scrollBar); 780 781 private static final byte _scrollColumnSizer = _scrollBar + 1; 782 public static final Widget SCROLL_COLUMN_SIZER = new Widget(_scrollColumnSizer); 783 784 private static final byte _slider = _scrollColumnSizer + 1; 785 public static final Widget SLIDER = new Widget(_slider); 786 private static final byte _sliderThumb = _slider + 1; 787 public static final Widget SLIDER_THUMB = new Widget(_sliderThumb); 788 789 private static final byte _synchronization = _sliderThumb + 1; 790 public static final Widget SYNCHRONIZATION = new Widget(_synchronization); 791 792 private static final byte _tab = _synchronization + 1; 793 public static final Widget TAB = new Widget(_tab); 794 795 private static final byte _titleBarCloseBox = _tab + 1; 796 public static final Widget TITLE_BAR_CLOSE_BOX = new Widget(_titleBarCloseBox); 797 private static final byte _titleBarCollapseBox = _titleBarCloseBox + 1; 798 public static final Widget TITLE_BAR_COLLAPSE_BOX = new Widget(_titleBarCollapseBox); 799 private static final byte _titleBarZoomBox = _titleBarCollapseBox + 1; 800 public static final Widget TITLE_BAR_ZOOM_BOX = new Widget(_titleBarZoomBox); 801 802 private static final byte _titleBarToolbarButton = _titleBarZoomBox + 1; 803 public static final Widget TITLE_BAR_TOOLBAR_BUTTON = new Widget(_titleBarToolbarButton); 804 805 private static final byte _toolbarItemWell = _titleBarToolbarButton + 1; 806 public static final Widget TOOLBAR_ITEM_WELL = new Widget(_toolbarItemWell); 807 808 private static final byte _windowFrame = _toolbarItemWell + 1; 809 public static final Widget WINDOW_FRAME = new Widget(_windowFrame); 810 } 811 812 /* No native methods here, but the constants are needed in the supporting JNI code */ 813 @GenerateNativeHeader 814 public static class Hit { 815 private static final int _unknown = -1; 816 public static final Hit UNKNOWN = new Hit(_unknown); 817 private static final int _none = 0; 818 public static final Hit NONE = new Hit(_none); 819 private static final int _hit = 1; 820 public static final Hit HIT = new Hit(_hit); 821 822 final int hit; 823 Hit(final int hit) { this.hit = hit; } 824 825 public boolean isHit() { 826 return hit > 0; 827 } 828 829 public String toString() { 830 return getConstantName(this); 831 } 832 } 833 834 /* No native methods here, but the constants are needed in the supporting JNI code */ 835 @GenerateNativeHeader 836 public static class ScrollBarHit extends Hit { 837 private static final int _thumb = 2; 838 public static final ScrollBarHit THUMB = new ScrollBarHit(_thumb); 839 840 private static final int _trackMin = 3; 841 public static final ScrollBarHit TRACK_MIN = new ScrollBarHit(_trackMin); 842 private static final int _trackMax = 4; 843 public static final ScrollBarHit TRACK_MAX = new ScrollBarHit(_trackMax); 844 845 private static final int _arrowMin = 5; 846 public static final ScrollBarHit ARROW_MIN = new ScrollBarHit(_arrowMin); 847 private static final int _arrowMax = 6; 848 public static final ScrollBarHit ARROW_MAX = new ScrollBarHit(_arrowMax); 849 private static final int _arrowMaxInside = 7; 850 public static final ScrollBarHit ARROW_MAX_INSIDE = new ScrollBarHit(_arrowMaxInside); 851 private static final int _arrowMinInside = 8; 852 public static final ScrollBarHit ARROW_MIN_INSIDE = new ScrollBarHit(_arrowMinInside); 853 854 ScrollBarHit(final int hit) { super(hit); } 855 } 856 857 static Hit getHit(final int hit) { 858 switch (hit) { 859 case Hit._none: 860 return Hit.NONE; 861 case Hit._hit: 862 return Hit.HIT; 863 864 case ScrollBarHit._thumb: 865 return ScrollBarHit.THUMB; 866 case ScrollBarHit._trackMin: 867 return ScrollBarHit.TRACK_MIN; 868 case ScrollBarHit._trackMax: 869 return ScrollBarHit.TRACK_MAX; 870 case ScrollBarHit._arrowMin: 871 return ScrollBarHit.ARROW_MIN; | 1 /* 2 * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package apple.laf; 27 28 import java.lang.reflect.Field; 29 import java.nio.ByteBuffer; 30 31 import java.lang.annotation.Native; 32 33 public final class JRSUIConstants { 34 private static native long getPtrForConstant(final int constant); 35 36 static class Key { 37 @Native protected static final int _value = 20; 38 public static final Key VALUE = new Key(_value); 39 40 @Native protected static final int _thumbProportion = 24; 41 public static final Key THUMB_PROPORTION = new Key(_thumbProportion); 42 43 @Native protected static final int _thumbStart = 25; 44 public static final Key THUMB_START = new Key(_thumbStart); 45 46 @Native protected static final int _windowTitleBarHeight = 28; 47 public static final Key WINDOW_TITLE_BAR_HEIGHT = new Key(_windowTitleBarHeight); 48 49 @Native protected static final int _animationFrame = 23; 50 public static final Key ANIMATION_FRAME = new Key(_animationFrame); 51 52 final int constant; 53 private long ptr; 54 55 private Key(final int constant) { 56 this.constant = constant; 57 } 58 59 long getConstantPtr() { 60 if (ptr != 0) return ptr; 61 ptr = getPtrForConstant(constant); 62 if (ptr != 0) return ptr; 63 throw new RuntimeException("Constant not implemented in native: " + this); 64 } 65 66 public String toString() { 67 return getConstantName(this) + (ptr == 0 ? "(unlinked)" : ""); 68 } 69 } 70 71 static class DoubleValue { 72 @Native protected static final byte TYPE_CODE = 1; 73 74 final double doubleValue; 75 76 DoubleValue(final double doubleValue) { 77 this.doubleValue = doubleValue; 78 } 79 80 public byte getTypeCode() { 81 return TYPE_CODE; 82 } 83 84 public void putValueInBuffer(final ByteBuffer buffer) { 85 buffer.putDouble(doubleValue); 86 } 87 88 public boolean equals(final Object obj) { 89 return (obj instanceof DoubleValue) && (((DoubleValue)obj).doubleValue == doubleValue); 90 } 91 92 public int hashCode() { 118 Property(final PropertyEncoding encoding, final byte ordinal) { 119 this.encoding = encoding; 120 this.value = ((long)ordinal) << encoding.shift; 121 this.ordinal = ordinal; 122 } 123 124 /** 125 * Applies this property value to the provided state 126 * @param encodedState the incoming JRSUI encoded state 127 * @return the composite of the provided JRSUI encoded state and this value 128 */ 129 public long apply(final long encodedState) { 130 return (encodedState & ~encoding.mask) | value; 131 } 132 133 public String toString() { 134 return getConstantName(this); 135 } 136 } 137 138 public static class Size extends Property { 139 @Native private static final byte SHIFT = 0; 140 @Native private static final byte SIZE = 3; 141 @Native private static final long MASK = (long)0x7 << SHIFT; 142 private static final PropertyEncoding size = new PropertyEncoding(MASK, SHIFT); 143 144 Size(final byte value) { 145 super(size, value); 146 } 147 148 @Native private static final byte _mini = 1; 149 public static final Size MINI = new Size(_mini); 150 @Native private static final byte _small = 2; 151 public static final Size SMALL = new Size(_small); 152 @Native private static final byte _regular = 3; 153 public static final Size REGULAR = new Size(_regular); 154 @Native private static final byte _large = 4; 155 public static final Size LARGE = new Size(_large); 156 } 157 158 public static class State extends Property { 159 @Native private static final byte SHIFT = Size.SHIFT + Size.SIZE; 160 @Native private static final byte SIZE = 4; 161 @Native private static final long MASK = (long)0xF << SHIFT; 162 private static final PropertyEncoding state = new PropertyEncoding(MASK, SHIFT); 163 164 State(final byte value) { 165 super(state, value); 166 } 167 168 @Native private static final byte _active = 1; 169 public static final State ACTIVE = new State(_active); 170 @Native private static final byte _inactive = 2; 171 public static final State INACTIVE = new State(_inactive); 172 @Native private static final byte _disabled = 3; 173 public static final State DISABLED = new State(_disabled); 174 @Native private static final byte _pressed = 4; 175 public static final State PRESSED = new State(_pressed); 176 @Native private static final byte _pulsed = 5; 177 public static final State PULSED = new State(_pulsed); 178 @Native private static final byte _rollover = 6; 179 public static final State ROLLOVER = new State(_rollover); 180 @Native private static final byte _drag = 7; 181 public static final State DRAG = new State(_drag); 182 } 183 184 public static class Direction extends Property { 185 @Native private static final byte SHIFT = State.SHIFT + State.SIZE; 186 @Native private static final byte SIZE = 4; 187 @Native private static final long MASK = (long)0xF << SHIFT; 188 private static final PropertyEncoding direction = new PropertyEncoding(MASK, SHIFT); 189 190 Direction(final byte value) { 191 super(direction, value); 192 } 193 194 @Native private static final byte _none = 1; 195 public static final Direction NONE = new Direction(_none); 196 @Native private static final byte _up = 2; 197 public static final Direction UP = new Direction(_up); 198 @Native private static final byte _down = 3; 199 public static final Direction DOWN = new Direction(_down); 200 @Native private static final byte _left = 4; 201 public static final Direction LEFT = new Direction(_left); 202 @Native private static final byte _right = 5; 203 public static final Direction RIGHT = new Direction(_right); 204 @Native private static final byte _north = 6; 205 public static final Direction NORTH = new Direction(_north); 206 @Native private static final byte _south = 7; 207 public static final Direction SOUTH = new Direction(_south); 208 @Native private static final byte _east = 8; 209 public static final Direction EAST = new Direction(_east); 210 @Native private static final byte _west = 9; 211 public static final Direction WEST = new Direction(_west); 212 } 213 214 public static class Orientation extends Property { 215 @Native private static final byte SHIFT = Direction.SHIFT + Direction.SIZE; 216 @Native private static final byte SIZE = 2; 217 @Native private static final long MASK = (long)0x3 << SHIFT; 218 private static final PropertyEncoding orientation = new PropertyEncoding(MASK, SHIFT); 219 220 Orientation(final byte value) { 221 super(orientation, value); 222 } 223 224 @Native private static final byte _horizontal = 1; 225 public static final Orientation HORIZONTAL = new Orientation(_horizontal); 226 @Native private static final byte _vertical = 2; 227 public static final Orientation VERTICAL = new Orientation(_vertical); 228 } 229 230 public static class AlignmentVertical extends Property { 231 @Native private static final byte SHIFT = Orientation.SHIFT + Orientation.SIZE; 232 @Native private static final byte SIZE = 2; 233 @Native private static final long MASK = (long)0x3 << SHIFT; 234 private static final PropertyEncoding alignmentVertical = new PropertyEncoding(MASK, SHIFT); 235 236 AlignmentVertical(final byte value){ 237 super(alignmentVertical, value); 238 } 239 240 @Native private static final byte _top = 1; 241 public static final AlignmentVertical TOP = new AlignmentVertical(_top); 242 @Native private static final byte _center = 2; 243 public static final AlignmentVertical CENTER = new AlignmentVertical(_center); 244 @Native private static final byte _bottom = 3; 245 public static final AlignmentVertical BOTTOM = new AlignmentVertical(_bottom); 246 } 247 248 public static class AlignmentHorizontal extends Property { 249 @Native private static final byte SHIFT = AlignmentVertical.SHIFT + AlignmentVertical.SIZE; 250 @Native private static final byte SIZE = 2; 251 @Native private static final long MASK = (long)0x3 << SHIFT; 252 private static final PropertyEncoding alignmentHorizontal = new PropertyEncoding(MASK, SHIFT); 253 254 AlignmentHorizontal(final byte value){ 255 super(alignmentHorizontal, value); 256 } 257 258 @Native private static final byte _left = 1; 259 public static final AlignmentHorizontal LEFT = new AlignmentHorizontal(_left); 260 @Native private static final byte _center = 2; 261 public static final AlignmentHorizontal CENTER = new AlignmentHorizontal(_center); 262 @Native private static final byte _right = 3; 263 public static final AlignmentHorizontal RIGHT = new AlignmentHorizontal(_right); 264 } 265 266 public static class SegmentPosition extends Property { 267 @Native private static final byte SHIFT = AlignmentHorizontal.SHIFT + AlignmentHorizontal.SIZE; 268 @Native private static final byte SIZE = 3; 269 @Native private static final long MASK = (long)0x7 << SHIFT; 270 private static final PropertyEncoding segmentPosition = new PropertyEncoding(MASK, SHIFT); 271 272 SegmentPosition(final byte value) { 273 super(segmentPosition, value); 274 } 275 276 @Native private static final byte _first = 1; 277 public static final SegmentPosition FIRST = new SegmentPosition(_first); 278 @Native private static final byte _middle = 2; 279 public static final SegmentPosition MIDDLE = new SegmentPosition(_middle); 280 @Native private static final byte _last = 3; 281 public static final SegmentPosition LAST = new SegmentPosition(_last); 282 @Native private static final byte _only = 4; 283 public static final SegmentPosition ONLY = new SegmentPosition(_only); 284 } 285 286 public static class ScrollBarPart extends Property { 287 @Native private static final byte SHIFT = SegmentPosition.SHIFT + SegmentPosition.SIZE; 288 @Native private static final byte SIZE = 4; 289 @Native private static final long MASK = (long)0xF << SHIFT; 290 private static final PropertyEncoding scrollBarPart = new PropertyEncoding(MASK, SHIFT); 291 292 ScrollBarPart(final byte value) { 293 super(scrollBarPart, value); 294 } 295 296 @Native private static final byte _none = 1; 297 public static final ScrollBarPart NONE = new ScrollBarPart(_none); 298 @Native private static final byte _thumb = 2; 299 public static final ScrollBarPart THUMB = new ScrollBarPart(_thumb); 300 @Native private static final byte _arrowMin = 3; 301 public static final ScrollBarPart ARROW_MIN = new ScrollBarPart(_arrowMin); 302 @Native private static final byte _arrowMax = 4; 303 public static final ScrollBarPart ARROW_MAX = new ScrollBarPart(_arrowMax); 304 @Native private static final byte _arrowMaxInside = 5; 305 public static final ScrollBarPart ARROW_MAX_INSIDE = new ScrollBarPart(_arrowMaxInside); 306 @Native private static final byte _arrowMinInside = 6; 307 public static final ScrollBarPart ARROW_MIN_INSIDE = new ScrollBarPart(_arrowMinInside); 308 @Native private static final byte _trackMin = 7; 309 public static final ScrollBarPart TRACK_MIN = new ScrollBarPart(_trackMin); 310 @Native private static final byte _trackMax = 8; 311 public static final ScrollBarPart TRACK_MAX = new ScrollBarPart(_trackMax); 312 } 313 314 public static class Variant extends Property { 315 @Native private static final byte SHIFT = ScrollBarPart.SHIFT + ScrollBarPart.SIZE; 316 @Native private static final byte SIZE = 4; 317 @Native private static final long MASK = (long)0xF << SHIFT; 318 private static final PropertyEncoding variant = new PropertyEncoding(MASK, SHIFT); 319 320 Variant(final byte value) { 321 super(variant, value); 322 } 323 324 @Native private static final byte _menuGlyph = 1; 325 public static final Variant MENU_GLYPH = new Variant(_menuGlyph); 326 @Native private static final byte _menuPopup = Variant._menuGlyph + 1; 327 public static final Variant MENU_POPUP = new Variant(_menuPopup); 328 @Native private static final byte _menuPulldown = Variant._menuPopup + 1; 329 public static final Variant MENU_PULLDOWN = new Variant(_menuPulldown); 330 @Native private static final byte _menuHierarchical = Variant._menuPulldown + 1; 331 public static final Variant MENU_HIERARCHICAL = new Variant(_menuHierarchical); 332 333 @Native private static final byte _gradientListBackgroundEven = Variant._menuHierarchical + 1; 334 public static final Variant GRADIENT_LIST_BACKGROUND_EVEN = new Variant(_gradientListBackgroundEven); 335 @Native private static final byte _gradientListBackgroundOdd = Variant._gradientListBackgroundEven + 1; 336 public static final Variant GRADIENT_LIST_BACKGROUND_ODD = new Variant(_gradientListBackgroundOdd); 337 @Native private static final byte _gradientSideBar = Variant._gradientListBackgroundOdd + 1; 338 public static final Variant GRADIENT_SIDE_BAR = new Variant(_gradientSideBar); 339 @Native private static final byte _gradientSideBarSelection = Variant._gradientSideBar + 1; 340 public static final Variant GRADIENT_SIDE_BAR_SELECTION = new Variant(_gradientSideBarSelection); 341 @Native private static final byte _gradientSideBarFocusedSelection = Variant._gradientSideBarSelection + 1; 342 public static final Variant GRADIENT_SIDE_BAR_FOCUSED_SELECTION = new Variant(_gradientSideBarFocusedSelection); 343 } 344 345 public static class WindowType extends Property { 346 @Native private static final byte SHIFT = Variant.SHIFT + Variant.SIZE; 347 @Native private static final byte SIZE = 2; 348 @Native private static final long MASK = (long)0x3 << SHIFT; 349 private static final PropertyEncoding windowType = new PropertyEncoding(MASK, SHIFT); 350 351 WindowType(final byte value){ 352 super(windowType, value); 353 } 354 355 @Native private static final byte _document = 1; 356 public static final WindowType DOCUMENT = new WindowType(_document); 357 @Native private static final byte _utility = 2; 358 public static final WindowType UTILITY = new WindowType(_utility); 359 @Native private static final byte _titlelessUtility = 3; 360 public static final WindowType TITLELESS_UTILITY = new WindowType(_titlelessUtility); 361 } 362 363 public static class Focused extends Property { 364 @Native private static final byte SHIFT = WindowType.SHIFT + WindowType.SIZE; 365 @Native private static final byte SIZE = 1; 366 @Native private static final long MASK = (long)0x1 << SHIFT; 367 private static final PropertyEncoding focused = new PropertyEncoding(MASK, SHIFT); 368 369 Focused(final byte value) { 370 super(focused, value); 371 } 372 373 @Native private static final byte _no = 0; 374 public static final Focused NO = new Focused(_no); 375 @Native private static final byte _yes = 1; 376 public static final Focused YES = new Focused(_yes); 377 } 378 379 public static class IndicatorOnly extends Property { 380 @Native private static final byte SHIFT = Focused.SHIFT + Focused.SIZE; 381 @Native private static final byte SIZE = 1; 382 @Native private static final long MASK = (long)0x1 << SHIFT; 383 private static final PropertyEncoding indicatorOnly = new PropertyEncoding(MASK, SHIFT); 384 385 IndicatorOnly(final byte value) { 386 super(indicatorOnly, value); 387 } 388 389 @Native private static final byte _no = 0; 390 public static final IndicatorOnly NO = new IndicatorOnly(_no); 391 @Native private static final byte _yes = 1; 392 public static final IndicatorOnly YES = new IndicatorOnly(_yes); 393 } 394 395 public static class NoIndicator extends Property { 396 @Native private static final byte SHIFT = IndicatorOnly.SHIFT + IndicatorOnly.SIZE; 397 @Native private static final byte SIZE = 1; 398 @Native private static final long MASK = (long)0x1 << SHIFT; 399 private static final PropertyEncoding noIndicator = new PropertyEncoding(MASK, SHIFT); 400 401 NoIndicator(final byte value) { 402 super(noIndicator, value); 403 } 404 405 @Native private static final byte _no = 0; 406 public static final NoIndicator NO = new NoIndicator(_no); 407 @Native private static final byte _yes = 1; 408 public static final NoIndicator YES = new NoIndicator(_yes); 409 } 410 411 public static class ArrowsOnly extends Property { 412 @Native private static final byte SHIFT = NoIndicator.SHIFT + NoIndicator.SIZE; 413 @Native private static final byte SIZE = 1; 414 @Native private static final long MASK = (long)0x1 << SHIFT; 415 private static final PropertyEncoding focused = new PropertyEncoding(MASK, SHIFT); 416 417 ArrowsOnly(final byte value) { 418 super(focused, value); 419 } 420 421 @Native private static final byte _no = 0; 422 public static final ArrowsOnly NO = new ArrowsOnly(_no); 423 @Native private static final byte _yes = 1; 424 public static final ArrowsOnly YES = new ArrowsOnly(_yes); 425 } 426 427 public static class FrameOnly extends Property { 428 @Native private static final byte SHIFT = ArrowsOnly.SHIFT + ArrowsOnly.SIZE; 429 @Native private static final byte SIZE = 1; 430 @Native private static final long MASK = (long)0x1 << SHIFT; 431 private static final PropertyEncoding focused = new PropertyEncoding(MASK, SHIFT); 432 433 FrameOnly(final byte value) { 434 super(focused, value); 435 } 436 437 @Native private static final byte _no = 0; 438 public static final FrameOnly NO = new FrameOnly(_no); 439 @Native private static final byte _yes = 1; 440 public static final FrameOnly YES = new FrameOnly(_yes); 441 } 442 443 public static class SegmentTrailingSeparator extends Property { 444 @Native private static final byte SHIFT = FrameOnly.SHIFT + FrameOnly.SIZE; 445 @Native private static final byte SIZE = 1; 446 @Native private static final long MASK = (long)0x1 << SHIFT; 447 private static final PropertyEncoding focused = new PropertyEncoding(MASK, SHIFT); 448 449 SegmentTrailingSeparator(final byte value) { 450 super(focused, value); 451 } 452 453 @Native private static final byte _no = 0; 454 public static final SegmentTrailingSeparator NO = new SegmentTrailingSeparator(_no); 455 @Native private static final byte _yes = 1; 456 public static final SegmentTrailingSeparator YES = new SegmentTrailingSeparator(_yes); 457 } 458 459 public static class SegmentLeadingSeparator extends Property { 460 @Native private static final byte SHIFT = SegmentTrailingSeparator.SHIFT + SegmentTrailingSeparator.SIZE; 461 @Native private static final byte SIZE = 1; 462 @Native private static final long MASK = (long)0x1 << SHIFT; 463 private static final PropertyEncoding leadingSeparator = new PropertyEncoding(MASK, SHIFT); 464 465 SegmentLeadingSeparator(final byte value) { 466 super(leadingSeparator, value); 467 } 468 469 @Native private static final byte _no = 0; 470 public static final SegmentLeadingSeparator NO = new SegmentLeadingSeparator(_no); 471 @Native private static final byte _yes = 1; 472 public static final SegmentLeadingSeparator YES = new SegmentLeadingSeparator(_yes); 473 } 474 475 public static class NothingToScroll extends Property { 476 @Native private static final byte SHIFT = SegmentLeadingSeparator.SHIFT + SegmentLeadingSeparator.SIZE; 477 @Native private static final byte SIZE = 1; 478 @Native private static final long MASK = (long)0x1 << SHIFT; 479 private static final PropertyEncoding focused = new PropertyEncoding(MASK, SHIFT); 480 481 NothingToScroll(final byte value) { 482 super(focused, value); 483 } 484 485 @Native private static final byte _no = 0; 486 public static final NothingToScroll NO = new NothingToScroll(_no); 487 @Native private static final byte _yes = 1; 488 public static final NothingToScroll YES = new NothingToScroll(_yes); 489 } 490 491 public static class WindowTitleBarSeparator extends Property { 492 @Native private static final byte SHIFT = NothingToScroll.SHIFT + NothingToScroll.SIZE; 493 @Native private static final byte SIZE = 1; 494 @Native private static final long MASK = (long)0x1 << SHIFT; 495 private static final PropertyEncoding focused = new PropertyEncoding(MASK, SHIFT); 496 497 WindowTitleBarSeparator(final byte value) { 498 super(focused, value); 499 } 500 501 @Native private static final byte _no = 0; 502 public static final WindowTitleBarSeparator NO = new WindowTitleBarSeparator(_no); 503 @Native private static final byte _yes = 1; 504 public static final WindowTitleBarSeparator YES = new WindowTitleBarSeparator(_yes); 505 } 506 507 public static class WindowClipCorners extends Property { 508 @Native private static final byte SHIFT = WindowTitleBarSeparator.SHIFT + WindowTitleBarSeparator.SIZE; 509 @Native private static final byte SIZE = 1; 510 @Native private static final long MASK = (long)0x1 << SHIFT; 511 private static final PropertyEncoding focused = new PropertyEncoding(MASK, SHIFT); 512 513 WindowClipCorners(final byte value) { 514 super(focused, value); 515 } 516 517 @Native private static final byte _no = 0; 518 public static final WindowClipCorners NO = new WindowClipCorners(_no); 519 @Native private static final byte _yes = 1; 520 public static final WindowClipCorners YES = new WindowClipCorners(_yes); 521 } 522 523 public static class ShowArrows extends Property { 524 @Native private static final byte SHIFT = WindowClipCorners.SHIFT + WindowClipCorners.SIZE; 525 @Native private static final byte SIZE = 1; 526 @Native private static final long MASK = (long)0x1 << SHIFT; 527 private static final PropertyEncoding showArrows = new PropertyEncoding(MASK, SHIFT); 528 529 ShowArrows(final byte value) { 530 super(showArrows, value); 531 } 532 533 @Native private static final byte _no = 0; 534 public static final ShowArrows NO = new ShowArrows(_no); 535 @Native private static final byte _yes = 1; 536 public static final ShowArrows YES = new ShowArrows(_yes); 537 } 538 539 public static class BooleanValue extends Property { 540 @Native private static final byte SHIFT = ShowArrows.SHIFT + ShowArrows.SIZE; 541 @Native private static final byte SIZE = 1; 542 @Native private static final long MASK = (long)0x1 << SHIFT; 543 private static final PropertyEncoding booleanValue = new PropertyEncoding(MASK, SHIFT); 544 545 BooleanValue(final byte value) { 546 super(booleanValue, value); 547 } 548 549 @Native private static final byte _no = 0; 550 public static final BooleanValue NO = new BooleanValue(_no); 551 @Native private static final byte _yes = 1; 552 public static final BooleanValue YES = new BooleanValue(_yes); 553 } 554 555 public static class Animating extends Property { 556 @Native private static final byte SHIFT = BooleanValue.SHIFT + BooleanValue.SIZE; 557 @Native private static final byte SIZE = 1; 558 @Native private static final long MASK = (long)0x1 << SHIFT; 559 private static final PropertyEncoding animating = new PropertyEncoding(MASK, SHIFT); 560 561 Animating(final byte value) { 562 super(animating, value); 563 } 564 565 @Native private static final byte _no = 0; 566 public static final Animating NO = new Animating(_no); 567 @Native private static final byte _yes = 1; 568 public static final Animating YES = new Animating(_yes); 569 } 570 571 public static class Widget extends Property { 572 @Native private static final byte SHIFT = Animating.SHIFT + Animating.SIZE; 573 @Native private static final byte SIZE = 7; 574 @Native private static final long MASK = (long)0x7F << SHIFT; 575 private static final PropertyEncoding widget = new PropertyEncoding(MASK, SHIFT); 576 577 Widget(final byte constant) { 578 super(widget, constant); 579 } 580 581 @Native private static final byte _background = 1; 582 public static final Widget BACKGROUND = new Widget(_background); 583 584 @Native private static final byte _buttonBevel = _background + 1; 585 public static final Widget BUTTON_BEVEL = new Widget(_buttonBevel); 586 @Native private static final byte _buttonBevelInset = _buttonBevel + 1; 587 public static final Widget BUTTON_BEVEL_INSET = new Widget(_buttonBevelInset); 588 @Native private static final byte _buttonBevelRound = _buttonBevelInset + 1; 589 public static final Widget BUTTON_BEVEL_ROUND = new Widget(_buttonBevelRound); 590 591 @Native private static final byte _buttonCheckBox = _buttonBevelRound + 1; 592 public static final Widget BUTTON_CHECK_BOX = new Widget(_buttonCheckBox); 593 594 @Native private static final byte _buttonComboBox = _buttonCheckBox + 1; 595 public static final Widget BUTTON_COMBO_BOX = new Widget(_buttonComboBox); 596 @Native private static final byte _buttonComboBoxInset = _buttonComboBox + 1; 597 public static final Widget BUTTON_COMBO_BOX_INSET = new Widget(_buttonComboBoxInset); // not hooked up in JRSUIConstants.m 598 599 @Native private static final byte _buttonDisclosure = _buttonComboBoxInset + 1; 600 public static final Widget BUTTON_DISCLOSURE = new Widget(_buttonDisclosure); 601 602 @Native private static final byte _buttonListHeader = _buttonDisclosure + 1; 603 public static final Widget BUTTON_LIST_HEADER = new Widget(_buttonListHeader); 604 605 @Native private static final byte _buttonLittleArrows = _buttonListHeader + 1; 606 public static final Widget BUTTON_LITTLE_ARROWS = new Widget(_buttonLittleArrows); 607 608 @Native private static final byte _buttonPopDown = _buttonLittleArrows + 1; 609 public static final Widget BUTTON_POP_DOWN = new Widget(_buttonPopDown); 610 @Native private static final byte _buttonPopDownInset = _buttonPopDown + 1; 611 public static final Widget BUTTON_POP_DOWN_INSET = new Widget(_buttonPopDownInset); 612 @Native private static final byte _buttonPopDownSquare = _buttonPopDownInset + 1; 613 public static final Widget BUTTON_POP_DOWN_SQUARE = new Widget(_buttonPopDownSquare); 614 615 @Native private static final byte _buttonPopUp = _buttonPopDownSquare + 1; 616 public static final Widget BUTTON_POP_UP = new Widget(_buttonPopUp); 617 @Native private static final byte _buttonPopUpInset = _buttonPopUp + 1; 618 public static final Widget BUTTON_POP_UP_INSET = new Widget(_buttonPopUpInset); 619 @Native private static final byte _buttonPopUpSquare = _buttonPopUpInset + 1; 620 public static final Widget BUTTON_POP_UP_SQUARE = new Widget(_buttonPopUpSquare); 621 622 @Native private static final byte _buttonPush = _buttonPopUpSquare + 1; 623 public static final Widget BUTTON_PUSH = new Widget(_buttonPush); 624 @Native private static final byte _buttonPushScope = _buttonPush + 1; 625 public static final Widget BUTTON_PUSH_SCOPE = new Widget(_buttonPushScope); 626 @Native private static final byte _buttonPushScope2 = _buttonPushScope + 1; 627 public static final Widget BUTTON_PUSH_SCOPE2 = new Widget(_buttonPushScope2); 628 @Native private static final byte _buttonPushTextured = _buttonPushScope2 + 1; 629 public static final Widget BUTTON_PUSH_TEXTURED = new Widget(_buttonPushTextured); 630 @Native private static final byte _buttonPushInset = _buttonPushTextured + 1; 631 public static final Widget BUTTON_PUSH_INSET = new Widget(_buttonPushInset); 632 @Native private static final byte _buttonPushInset2 = _buttonPushInset + 1; 633 public static final Widget BUTTON_PUSH_INSET2 = new Widget(_buttonPushInset2); 634 635 @Native private static final byte _buttonRadio = _buttonPushInset2 + 1; 636 public static final Widget BUTTON_RADIO = new Widget(_buttonRadio); 637 638 @Native private static final byte _buttonRound = _buttonRadio + 1; 639 public static final Widget BUTTON_ROUND = new Widget(_buttonRound); 640 @Native private static final byte _buttonRoundHelp = _buttonRound + 1; 641 public static final Widget BUTTON_ROUND_HELP = new Widget(_buttonRoundHelp); 642 @Native private static final byte _buttonRoundInset = _buttonRoundHelp + 1; 643 public static final Widget BUTTON_ROUND_INSET = new Widget(_buttonRoundInset); 644 @Native private static final byte _buttonRoundInset2 =_buttonRoundInset + 1; 645 public static final Widget BUTTON_ROUND_INSET2 = new Widget(_buttonRoundInset2); 646 647 @Native private static final byte _buttonSearchFieldCancel = _buttonRoundInset2 + 1; 648 public static final Widget BUTTON_SEARCH_FIELD_CANCEL = new Widget(_buttonSearchFieldCancel); 649 @Native private static final byte _buttonSearchFieldFind = _buttonSearchFieldCancel + 1; 650 public static final Widget BUTTON_SEARCH_FIELD_FIND = new Widget(_buttonSearchFieldFind); 651 652 @Native private static final byte _buttonSegmented = _buttonSearchFieldFind + 1; 653 public static final Widget BUTTON_SEGMENTED = new Widget(_buttonSegmented); 654 @Native private static final byte _buttonSegmentedInset = _buttonSegmented + 1; 655 public static final Widget BUTTON_SEGMENTED_INSET = new Widget(_buttonSegmentedInset); 656 @Native private static final byte _buttonSegmentedInset2 = _buttonSegmentedInset + 1; 657 public static final Widget BUTTON_SEGMENTED_INSET2 = new Widget(_buttonSegmentedInset2); 658 @Native private static final byte _buttonSegmentedSCurve = _buttonSegmentedInset2 + 1; 659 public static final Widget BUTTON_SEGMENTED_SCURVE = new Widget(_buttonSegmentedSCurve); 660 @Native private static final byte _buttonSegmentedTextured = _buttonSegmentedSCurve + 1; 661 public static final Widget BUTTON_SEGMENTED_TEXTURED = new Widget(_buttonSegmentedTextured); 662 @Native private static final byte _buttonSegmentedToolbar = _buttonSegmentedTextured + 1; 663 public static final Widget BUTTON_SEGMENTED_TOOLBAR = new Widget(_buttonSegmentedToolbar); 664 665 @Native private static final byte _dial = _buttonSegmentedToolbar + 1; 666 public static final Widget DIAL = new Widget(_dial); 667 668 @Native private static final byte _disclosureTriangle = _dial + 1; 669 public static final Widget DISCLOSURE_TRIANGLE = new Widget(_disclosureTriangle); 670 671 @Native private static final byte _dividerGrabber = _disclosureTriangle + 1; 672 public static final Widget DIVIDER_GRABBER = new Widget(_dividerGrabber); 673 @Native private static final byte _dividerSeparatorBar = _dividerGrabber + 1; 674 public static final Widget DIVIDER_SEPARATOR_BAR = new Widget(_dividerSeparatorBar); 675 @Native private static final byte _dividerSplitter = _dividerSeparatorBar + 1; 676 public static final Widget DIVIDER_SPLITTER = new Widget(_dividerSplitter); 677 678 @Native private static final byte _focus = _dividerSplitter + 1; 679 public static final Widget FOCUS = new Widget(_focus); 680 681 @Native private static final byte _frameGroupBox = _focus + 1; 682 public static final Widget FRAME_GROUP_BOX = new Widget(_frameGroupBox); 683 @Native private static final byte _frameGroupBoxSecondary = _frameGroupBox + 1; 684 public static final Widget FRAME_GROUP_BOX_SECONDARY = new Widget(_frameGroupBoxSecondary); 685 686 @Native private static final byte _frameListBox = _frameGroupBoxSecondary + 1; 687 public static final Widget FRAME_LIST_BOX = new Widget(_frameListBox); 688 689 @Native private static final byte _framePlacard = _frameListBox + 1; 690 public static final Widget FRAME_PLACARD = new Widget(_framePlacard); 691 692 @Native private static final byte _frameTextField = _framePlacard + 1; 693 public static final Widget FRAME_TEXT_FIELD = new Widget(_frameTextField); 694 @Native private static final byte _frameTextFieldRound = _frameTextField + 1; 695 public static final Widget FRAME_TEXT_FIELD_ROUND = new Widget(_frameTextFieldRound); 696 697 @Native private static final byte _frameWell = _frameTextFieldRound + 1; 698 public static final Widget FRAME_WELL = new Widget(_frameWell); 699 700 @Native private static final byte _growBox = _frameWell + 1; 701 public static final Widget GROW_BOX = new Widget(_growBox); 702 @Native private static final byte _growBoxTextured = _growBox + 1; 703 public static final Widget GROW_BOX_TEXTURED = new Widget(_growBoxTextured); 704 705 @Native private static final byte _gradient = _growBoxTextured + 1; 706 public static final Widget GRADIENT = new Widget(_gradient); 707 708 @Native private static final byte _menu = _gradient + 1; 709 public static final Widget MENU = new Widget(_menu); 710 @Native private static final byte _menuItem = _menu + 1; 711 public static final Widget MENU_ITEM = new Widget(_menuItem); 712 @Native private static final byte _menuBar = _menuItem + 1; 713 public static final Widget MENU_BAR = new Widget(_menuBar); 714 @Native private static final byte _menuTitle = _menuBar + 1; 715 public static final Widget MENU_TITLE = new Widget(_menuTitle); 716 717 @Native private static final byte _progressBar = _menuTitle + 1; 718 public static final Widget PROGRESS_BAR = new Widget(_progressBar); 719 @Native private static final byte _progressIndeterminateBar = _progressBar + 1; 720 public static final Widget PROGRESS_INDETERMINATE_BAR = new Widget(_progressIndeterminateBar); 721 @Native private static final byte _progressRelevance = _progressIndeterminateBar + 1; 722 public static final Widget PROGRESS_RELEVANCE = new Widget(_progressRelevance); 723 @Native private static final byte _progressSpinner = _progressRelevance + 1; 724 public static final Widget PROGRESS_SPINNER = new Widget(_progressSpinner); 725 726 @Native private static final byte _scrollBar = _progressSpinner + 1; 727 public static final Widget SCROLL_BAR = new Widget(_scrollBar); 728 729 @Native private static final byte _scrollColumnSizer = _scrollBar + 1; 730 public static final Widget SCROLL_COLUMN_SIZER = new Widget(_scrollColumnSizer); 731 732 @Native private static final byte _slider = _scrollColumnSizer + 1; 733 public static final Widget SLIDER = new Widget(_slider); 734 @Native private static final byte _sliderThumb = _slider + 1; 735 public static final Widget SLIDER_THUMB = new Widget(_sliderThumb); 736 737 @Native private static final byte _synchronization = _sliderThumb + 1; 738 public static final Widget SYNCHRONIZATION = new Widget(_synchronization); 739 740 @Native private static final byte _tab = _synchronization + 1; 741 public static final Widget TAB = new Widget(_tab); 742 743 @Native private static final byte _titleBarCloseBox = _tab + 1; 744 public static final Widget TITLE_BAR_CLOSE_BOX = new Widget(_titleBarCloseBox); 745 @Native private static final byte _titleBarCollapseBox = _titleBarCloseBox + 1; 746 public static final Widget TITLE_BAR_COLLAPSE_BOX = new Widget(_titleBarCollapseBox); 747 @Native private static final byte _titleBarZoomBox = _titleBarCollapseBox + 1; 748 public static final Widget TITLE_BAR_ZOOM_BOX = new Widget(_titleBarZoomBox); 749 750 @Native private static final byte _titleBarToolbarButton = _titleBarZoomBox + 1; 751 public static final Widget TITLE_BAR_TOOLBAR_BUTTON = new Widget(_titleBarToolbarButton); 752 753 @Native private static final byte _toolbarItemWell = _titleBarToolbarButton + 1; 754 public static final Widget TOOLBAR_ITEM_WELL = new Widget(_toolbarItemWell); 755 756 @Native private static final byte _windowFrame = _toolbarItemWell + 1; 757 public static final Widget WINDOW_FRAME = new Widget(_windowFrame); 758 } 759 760 public static class Hit { 761 @Native private static final int _unknown = -1; 762 public static final Hit UNKNOWN = new Hit(_unknown); 763 @Native private static final int _none = 0; 764 public static final Hit NONE = new Hit(_none); 765 @Native private static final int _hit = 1; 766 public static final Hit HIT = new Hit(_hit); 767 768 final int hit; 769 Hit(final int hit) { this.hit = hit; } 770 771 public boolean isHit() { 772 return hit > 0; 773 } 774 775 public String toString() { 776 return getConstantName(this); 777 } 778 } 779 780 public static class ScrollBarHit extends Hit { 781 @Native private static final int _thumb = 2; 782 public static final ScrollBarHit THUMB = new ScrollBarHit(_thumb); 783 784 @Native private static final int _trackMin = 3; 785 public static final ScrollBarHit TRACK_MIN = new ScrollBarHit(_trackMin); 786 @Native private static final int _trackMax = 4; 787 public static final ScrollBarHit TRACK_MAX = new ScrollBarHit(_trackMax); 788 789 @Native private static final int _arrowMin = 5; 790 public static final ScrollBarHit ARROW_MIN = new ScrollBarHit(_arrowMin); 791 @Native private static final int _arrowMax = 6; 792 public static final ScrollBarHit ARROW_MAX = new ScrollBarHit(_arrowMax); 793 @Native private static final int _arrowMaxInside = 7; 794 public static final ScrollBarHit ARROW_MAX_INSIDE = new ScrollBarHit(_arrowMaxInside); 795 @Native private static final int _arrowMinInside = 8; 796 public static final ScrollBarHit ARROW_MIN_INSIDE = new ScrollBarHit(_arrowMinInside); 797 798 ScrollBarHit(final int hit) { super(hit); } 799 } 800 801 static Hit getHit(final int hit) { 802 switch (hit) { 803 case Hit._none: 804 return Hit.NONE; 805 case Hit._hit: 806 return Hit.HIT; 807 808 case ScrollBarHit._thumb: 809 return ScrollBarHit.THUMB; 810 case ScrollBarHit._trackMin: 811 return ScrollBarHit.TRACK_MIN; 812 case ScrollBarHit._trackMax: 813 return ScrollBarHit.TRACK_MAX; 814 case ScrollBarHit._arrowMin: 815 return ScrollBarHit.ARROW_MIN; |