Skip to content

Commit ed7e1dc

Browse files
committed
switching to Graphics.clipRect()/create/dispose rather than .setClip()
1 parent db124b1 commit ed7e1dc

File tree

10 files changed

+272
-200
lines changed

10 files changed

+272
-200
lines changed

sources/net.sf.j2s.java.core/src/javax/swing/JComponent.java

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ public abstract class JComponent extends Container {
305305
// bit 10 is free
306306
private static final int IS_PRINTING = 11;
307307
private static final int IS_PRINTING_ALL = 12;
308-
private static final int ISREPAINTING = 13;
308+
protected static final int 秘ISREPAINTING = 13;
309309
/** Bits 14-21 are used to handle nested writeObject calls. **/
310310
// private static final int WRITE_OBJ_COUNTER_FIRST = 14;
311311
// private static final int RESERVED_1 = 15;
@@ -464,7 +464,7 @@ private static void recycleRectangle(Rectangle rect) {
464464
*/
465465
public void setInheritsPopupMenu(boolean value) {
466466
boolean oldValue = getFlag(INHERITS_POPUP_MENU);
467-
setFlag(INHERITS_POPUP_MENU, value);
467+
秘setFlag(INHERITS_POPUP_MENU, value);
468468
firePropertyChange("inheritsPopupMenu", oldValue, value);
469469
}
470470

@@ -733,8 +733,8 @@ protected void paintChildren(Graphics g) {
733733
} finally {
734734
jsg.dispose();
735735
if (shouldSetFlagBack) {
736-
((JComponent) jc).setFlag(ANCESTOR_USING_BUFFER, false);
737-
((JComponent) jc).setFlag(IS_PAINTING_TILE, false);
736+
((JComponent) jc).秘setFlag(ANCESTOR_USING_BUFFER, false);
737+
((JComponent) jc).秘setFlag(IS_PAINTING_TILE, false);
738738
}
739739
}
740740
}
@@ -895,10 +895,10 @@ public void paint(Graphics g) {
895895
} finally {
896896
cg.dispose();
897897
if (shouldClearPaintFlags) {
898-
setFlag(ANCESTOR_USING_BUFFER, false);
899-
setFlag(IS_PAINTING_TILE, false);
900-
setFlag(IS_PRINTING, false);
901-
setFlag(IS_PRINTING_ALL, false);
898+
秘setFlag(ANCESTOR_USING_BUFFER, false);
899+
秘setFlag(IS_PAINTING_TILE, false);
900+
秘setFlag(IS_PRINTING, false);
901+
秘setFlag(IS_PRINTING_ALL, false);
902902
}
903903
}
904904
}
@@ -911,12 +911,12 @@ void paintForceDoubleBuffered(Graphics g) {
911911
RepaintManager rm = RepaintManager.currentManager(this);
912912
Rectangle clip = g.getClipBounds();
913913
rm.beginPaint();
914-
setFlag(ISREPAINTING, true);
914+
秘setFlag(秘ISREPAINTING, true);
915915
try {
916916
rm.paint(this, this, g, clip.x, clip.y, clip.width, clip.height);
917917
} finally {
918918
rm.endPaint();
919-
setFlag(ISREPAINTING, false);
919+
秘setFlag(秘ISREPAINTING, false);
920920
}
921921
}
922922

@@ -944,13 +944,13 @@ private void adjustPaintFlags() {
944944
if (parent instanceof JComponent) {
945945
jparent = (JComponent) parent;
946946
if (jparent.getFlag(ANCESTOR_USING_BUFFER))
947-
setFlag(ANCESTOR_USING_BUFFER, true);
947+
秘setFlag(ANCESTOR_USING_BUFFER, true);
948948
if (jparent.getFlag(IS_PAINTING_TILE))
949-
setFlag(IS_PAINTING_TILE, true);
949+
秘setFlag(IS_PAINTING_TILE, true);
950950
if (jparent.getFlag(IS_PRINTING))
951-
setFlag(IS_PRINTING, true);
951+
秘setFlag(IS_PRINTING, true);
952952
if (jparent.getFlag(IS_PRINTING_ALL))
953-
setFlag(IS_PRINTING_ALL, true);
953+
秘setFlag(IS_PRINTING_ALL, true);
954954
break;
955955
}
956956
}
@@ -969,11 +969,11 @@ private void adjustPaintFlags() {
969969
*/
970970
@Override
971971
public void printAll(Graphics g) {
972-
setFlag(IS_PRINTING_ALL, true);
972+
秘setFlag(IS_PRINTING_ALL, true);
973973
try {
974974
print(g);
975975
} finally {
976-
setFlag(IS_PRINTING_ALL, false);
976+
秘setFlag(IS_PRINTING_ALL, false);
977977
}
978978
}
979979

@@ -1023,12 +1023,12 @@ public void printAll(Graphics g) {
10231023
*/
10241024
@Override
10251025
public void print(Graphics g) {
1026-
setFlag(IS_PRINTING, true);
1026+
秘setFlag(IS_PRINTING, true);
10271027
firePropertyChange("paintingForPrint", false, true);
10281028
try {
10291029
paint(g);
10301030
} finally {
1031-
setFlag(IS_PRINTING, false);
1031+
秘setFlag(IS_PRINTING, false);
10321032
firePropertyChange("paintingForPrint", true, false);
10331033
}
10341034
}
@@ -1256,7 +1256,7 @@ public Component getNextFocusableComponent() {
12561256
* @see java.awt.Component#setFocusable
12571257
*/
12581258
public void setRequestFocusEnabled(boolean requestFocusEnabled) {
1259-
setFlag(REQUEST_FOCUS_DISABLED, !requestFocusEnabled);
1259+
秘setFlag(REQUEST_FOCUS_DISABLED, !requestFocusEnabled);
12601260
}
12611261

12621262
/**
@@ -2212,16 +2212,16 @@ public final void setInputMap(int condition, InputMap map) {
22122212
"WHEN_IN_FOCUSED_WINDOW InputMaps must be of type ComponentInputMap");
22132213
}
22142214
windowInputMap = (ComponentInputMap) map;
2215-
setFlag(WIF_INPUTMAP_CREATED, true);
2215+
秘setFlag(WIF_INPUTMAP_CREATED, true);
22162216
registerWithKeyboardManager(false);
22172217
break;
22182218
case WHEN_ANCESTOR_OF_FOCUSED_COMPONENT:
22192219
ancestorInputMap = map;
2220-
setFlag(ANCESTOR_INPUTMAP_CREATED, true);
2220+
秘setFlag(ANCESTOR_INPUTMAP_CREATED, true);
22212221
break;
22222222
case WHEN_FOCUSED:
22232223
focusInputMap = map;
2224-
setFlag(FOCUS_INPUTMAP_CREATED, true);
2224+
秘setFlag(FOCUS_INPUTMAP_CREATED, true);
22252225
break;
22262226
default:
22272227
throw new IllegalArgumentException(
@@ -2266,7 +2266,7 @@ public final InputMap getInputMap() {
22662266
*/
22672267
public final void setActionMap(ActionMap am) {
22682268
actionMap = am;
2269-
setFlag(ACTIONMAP_CREATED, true);
2269+
秘setFlag(ACTIONMAP_CREATED, true);
22702270
}
22712271

22722272
/**
@@ -2967,7 +2967,7 @@ public void scrollRectToVisible(Rectangle aRect) {
29672967
* automatically scrolls its contents when dragged.
29682968
*/
29692969
public void setAutoscrolls(boolean autoscrolls) {
2970-
setFlag(AUTOSCROLLS_SET, true);
2970+
秘setFlag(AUTOSCROLLS_SET, true);
29712971
if (this.autoscrolls != autoscrolls) {
29722972
this.autoscrolls = autoscrolls;
29732973
if (autoscrolls) {
@@ -3043,7 +3043,7 @@ void superProcessMouseMotionEvent(MouseEvent e) {
30433043
* true if the double buffer image was created from this component
30443044
*/
30453045
void setCreatedDoubleBuffer(boolean newValue) {
3046-
setFlag(CREATED_DOUBLE_BUFFER, newValue);
3046+
秘setFlag(CREATED_DOUBLE_BUFFER, newValue);
30473047
}
30483048

30493049
boolean getCreatedDoubleBuffer() {
@@ -3512,12 +3512,12 @@ void setUIProperty(String propertyName, Object value) {
35123512
if (propertyName == "opaque") {
35133513
if (!getFlag(OPAQUE_SET)) {
35143514
setOpaque(((Boolean) value).booleanValue());
3515-
setFlag(OPAQUE_SET, false);
3515+
秘setFlag(OPAQUE_SET, false);
35163516
}
35173517
} else if (propertyName == "autoscrolls") {
35183518
if (!getFlag(AUTOSCROLLS_SET)) {
35193519
setAutoscrolls(((Boolean) value).booleanValue());
3520-
setFlag(AUTOSCROLLS_SET, false);
3520+
秘setFlag(AUTOSCROLLS_SET, false);
35213521
}
35223522
} else if (propertyName == "focusTraversalKeysForward") {
35233523
if (!getFlag(FOCUS_TRAVERSAL_KEYS_FORWARD_SET)) {
@@ -3568,9 +3568,9 @@ void setUIProperty(String propertyName, Object value) {
35683568
public void setFocusTraversalKeys(int id,
35693569
Set<? extends AWTKeyStroke> keystrokes) {
35703570
if (id == KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS) {
3571-
setFlag(FOCUS_TRAVERSAL_KEYS_FORWARD_SET,true);
3571+
秘setFlag(FOCUS_TRAVERSAL_KEYS_FORWARD_SET,true);
35723572
} else if (id == KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS) {
3573-
setFlag(FOCUS_TRAVERSAL_KEYS_BACKWARD_SET,true);
3573+
秘setFlag(FOCUS_TRAVERSAL_KEYS_BACKWARD_SET,true);
35743574
}
35753575
super.setFocusTraversalKeys(id, keystrokes);
35763576
}
@@ -3770,8 +3770,8 @@ public boolean isOpaque() {
37703770
*/
37713771
public void setOpaque(boolean isOpaque) {
37723772
boolean oldValue = getFlag(IS_OPAQUE);
3773-
setFlag(IS_OPAQUE, isOpaque);
3774-
setFlag(OPAQUE_SET, true);
3773+
秘setFlag(IS_OPAQUE, isOpaque);
3774+
秘setFlag(OPAQUE_SET, true);
37753775
firePropertyChange("opaque", oldValue, isOpaque);
37763776
}
37773777

@@ -4268,14 +4268,14 @@ public void revalidate() {
42684268
if (getFlag(REVALIDATE_RUNNABLE_SCHEDULED)) {
42694269
return;
42704270
}
4271-
setFlag(REVALIDATE_RUNNABLE_SCHEDULED, true);
4271+
秘setFlag(REVALIDATE_RUNNABLE_SCHEDULED, true);
42724272
//}
42734273
// final Object me = this;
42744274
Runnable callRevalidate = new Runnable() {
42754275
@Override
42764276
public void run() {
42774277
// synchronized (JComponent.this) {
4278-
setFlag(REVALIDATE_RUNNABLE_SCHEDULED, false);
4278+
秘setFlag(REVALIDATE_RUNNABLE_SCHEDULED, false);
42794279
// }
42804280
revalidate();
42814281
}
@@ -4544,7 +4544,7 @@ private void _paintImmediately(int x, int y, int w, int h) {
45444544
// SwingJS hiding of panel that is drawn through needs to clear
45454545
paintingComponent = paintingComponent.getRootPane();
45464546
}
4547-
paintingComponent.setFlag(ISREPAINTING, true);
4547+
paintingComponent.秘setFlag(秘ISREPAINTING, true);
45484548

45494549
paintImmediatelyClip.x -= offsetX;
45504550
paintImmediatelyClip.y -= offsetY;
@@ -4581,7 +4581,7 @@ private void _paintImmediately(int x, int y, int w, int h) {
45814581

45824582
// SwingJS early on was not clipping for better performance
45834583
if (!秘isRootPane)
4584-
g.setClip(paintImmediatelyClip.x, paintImmediatelyClip.y,
4584+
g.clipRect(paintImmediatelyClip.x, paintImmediatelyClip.y,
45854585
paintImmediatelyClip.width, paintImmediatelyClip.height);
45864586

45874587
// this sequence assures that if the developer called
@@ -4606,7 +4606,7 @@ private void _paintImmediately(int x, int y, int w, int h) {
46064606
}
46074607
}
46084608
}
4609-
paintingComponent.setFlag(ISREPAINTING, false);
4609+
paintingComponent.秘setFlag(秘ISREPAINTING, false);
46104610
}
46114611
recycleRectangle(paintImmediatelyClip);
46124612
}
@@ -4620,11 +4620,11 @@ private void _paintImmediately(int x, int y, int w, int h) {
46204620
void paintToOffscreen(Graphics g, int x, int y, int w, int h, int maxX,
46214621
int maxY) {
46224622
try {
4623-
setFlag(ANCESTOR_USING_BUFFER, true);
4623+
秘setFlag(ANCESTOR_USING_BUFFER, true);
46244624
if ((y + h) < maxY || (x + w) < maxX) {
4625-
setFlag(IS_PAINTING_TILE, true);
4625+
秘setFlag(IS_PAINTING_TILE, true);
46264626
}
4627-
if (getFlag(ISREPAINTING)) {
4627+
if (getFlag(秘ISREPAINTING)) {
46284628
// Called from paintImmediately (RepaintManager) to fill
46294629
// repaint request
46304630
paint(g);
@@ -4637,8 +4637,8 @@ void paintToOffscreen(Graphics g, int x, int y, int w, int h, int maxX,
46374637
paintChildren(g);
46384638
}
46394639
} finally {
4640-
setFlag(ANCESTOR_USING_BUFFER, false);
4641-
setFlag(IS_PAINTING_TILE, false);
4640+
秘setFlag(ANCESTOR_USING_BUFFER, false);
4641+
秘setFlag(IS_PAINTING_TILE, false);
46424642
}
46434643
}
46444644

@@ -4703,7 +4703,7 @@ boolean checkIfChildObscuredBySibling() {
47034703
return true;
47044704
}
47054705

4706-
private void setFlag(int aFlag, boolean aValue) {
4706+
protected void 秘setFlag(int aFlag, boolean aValue) {
47074707
if (aValue) {
47084708
flags |= (1 << aFlag);
47094709
} else {

0 commit comments

Comments
 (0)