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