abstract class com.apple.laf.AquaIcon$CachingScalingIcon implements javax.swing.Icon, javax.swing.plaf.UIResource
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.apple.laf.AquaIcon$CachingScalingIcon
super_class: java.lang.Object
{
int width;
descriptor: I
flags: (0x0000)
int height;
descriptor: I
flags: (0x0000)
java.awt.Image image;
descriptor: Ljava/awt/Image;
flags: (0x0000)
public void <init>(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield com.apple.laf.AquaIcon$CachingScalingIcon.width:I
2: aload 0
iload 2
putfield com.apple.laf.AquaIcon$CachingScalingIcon.height:I
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/apple/laf/AquaIcon$CachingScalingIcon;
0 4 1 width I
0 4 2 height I
MethodParameters:
Name Flags
width final
height final
void setSize(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
putfield com.apple.laf.AquaIcon$CachingScalingIcon.width:I
1: aload 0
iload 2
putfield com.apple.laf.AquaIcon$CachingScalingIcon.height:I
2: aload 0
aconst_null
putfield com.apple.laf.AquaIcon$CachingScalingIcon.image:Ljava/awt/Image;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/apple/laf/AquaIcon$CachingScalingIcon;
0 4 1 width I
0 4 2 height I
MethodParameters:
Name Flags
width final
height final
java.awt.Image getImage();
descriptor: ()Ljava/awt/Image;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.apple.laf.AquaIcon$CachingScalingIcon.image:Ljava/awt/Image;
ifnull 1
aload 0
getfield com.apple.laf.AquaIcon$CachingScalingIcon.image:Ljava/awt/Image;
areturn
1: StackMap locals:
StackMap stack:
invokestatic java.awt.GraphicsEnvironment.isHeadless:()Z
ifne 3
2: aload 0
aload 0
invokevirtual com.apple.laf.AquaIcon$CachingScalingIcon.getOptimizedImage:()Ljava/awt/Image;
putfield com.apple.laf.AquaIcon$CachingScalingIcon.image:Ljava/awt/Image;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.apple.laf.AquaIcon$CachingScalingIcon.image:Ljava/awt/Image;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/apple/laf/AquaIcon$CachingScalingIcon;
private java.awt.Image getOptimizedImage();
descriptor: ()Ljava/awt/Image;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.apple.laf.AquaIcon$CachingScalingIcon.createImage:()Ljava/awt/Image;
astore 1
start local 1 1: aload 1
aload 0
invokevirtual com.apple.laf.AquaIcon$CachingScalingIcon.getIconWidth:()I
aload 0
invokevirtual com.apple.laf.AquaIcon$CachingScalingIcon.getIconHeight:()I
invokestatic com.apple.laf.AquaIcon$CachingScalingIcon.getProgressiveOptimizedImage:(Ljava/awt/Image;II)Ljava/awt/Image;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/apple/laf/AquaIcon$CachingScalingIcon;
1 2 1 img Ljava/awt/Image;
static java.awt.Image getProgressiveOptimizedImage(java.awt.Image, int, int);
descriptor: (Ljava/awt/Image;II)Ljava/awt/Image;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 0
aconst_null
invokevirtual java.awt.Image.getWidth:(Ljava/awt/image/ImageObserver;)I
iconst_2
idiv
istore 3
start local 3 2: aload 0
aconst_null
invokevirtual java.awt.Image.getHeight:(Ljava/awt/image/ImageObserver;)I
iconst_2
idiv
istore 4
start local 4 3: iload 1
iconst_2
imul
iload 3
if_icmple 4
iload 2
iconst_2
imul
iload 4
if_icmple 4
aload 0
areturn
4: StackMap locals: int int
StackMap stack:
new java.awt.image.BufferedImage
dup
iload 3
iload 4
iconst_2
invokespecial java.awt.image.BufferedImage.<init>:(III)V
astore 5
start local 5 5: aload 5
invokevirtual java.awt.image.BufferedImage.getGraphics:()Ljava/awt/Graphics;
astore 6
start local 6 6: aload 6
checkcast java.awt.Graphics2D
getstatic java.awt.RenderingHints.KEY_INTERPOLATION:Ljava/awt/RenderingHints$Key;
getstatic java.awt.RenderingHints.VALUE_INTERPOLATION_BILINEAR:Ljava/lang/Object;
invokevirtual java.awt.Graphics2D.setRenderingHint:(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)V
7: aload 6
aload 0
iconst_0
iconst_0
iload 3
iload 4
aconst_null
invokevirtual java.awt.Graphics.drawImage:(Ljava/awt/Image;IIIILjava/awt/image/ImageObserver;)Z
pop
8: aload 6
invokevirtual java.awt.Graphics.dispose:()V
9: aload 5
iload 1
iload 2
invokestatic com.apple.laf.AquaIcon$CachingScalingIcon.getProgressiveOptimizedImage:(Ljava/awt/Image;II)Ljava/awt/Image;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 img Ljava/awt/Image;
0 10 1 w I
0 10 2 h I
2 10 3 halfImgW I
3 10 4 halfImgH I
5 10 5 halfImage Ljava/awt/image/BufferedImage;
6 10 6 g Ljava/awt/Graphics;
MethodParameters:
Name Flags
img final
w final
h final
abstract java.awt.Image createImage();
descriptor: ()Ljava/awt/Image;
flags: (0x0400) ACC_ABSTRACT
public boolean hasIconRef();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.apple.laf.AquaIcon$CachingScalingIcon.getImage:()Ljava/awt/Image;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/apple/laf/AquaIcon$CachingScalingIcon;
public void paintIcon(java.awt.Component, java.awt.Graphics, int, int);
descriptor: (Ljava/awt/Component;Ljava/awt/Graphics;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual java.awt.Graphics.create:()Ljava/awt/Graphics;
astore 2
1: aload 2
instanceof java.awt.Graphics2D
ifeq 3
2: aload 2
checkcast java.awt.Graphics2D
getstatic java.awt.RenderingHints.KEY_RENDERING:Ljava/awt/RenderingHints$Key;
getstatic java.awt.RenderingHints.VALUE_RENDER_QUALITY:Ljava/lang/Object;
invokevirtual java.awt.Graphics2D.setRenderingHint:(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.apple.laf.AquaIcon$CachingScalingIcon.getImage:()Ljava/awt/Image;
astore 5
start local 5 4: aload 5
ifnull 6
5: aload 2
aload 5
iload 3
iload 4
aload 0
invokevirtual com.apple.laf.AquaIcon$CachingScalingIcon.getIconWidth:()I
aload 0
invokevirtual com.apple.laf.AquaIcon$CachingScalingIcon.getIconHeight:()I
aconst_null
invokevirtual java.awt.Graphics.drawImage:(Ljava/awt/Image;IIIILjava/awt/image/ImageObserver;)Z
pop
6: StackMap locals: java.awt.Image
StackMap stack:
aload 2
invokevirtual java.awt.Graphics.dispose:()V
7: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/apple/laf/AquaIcon$CachingScalingIcon;
0 8 1 c Ljava/awt/Component;
0 8 2 g Ljava/awt/Graphics;
0 8 3 x I
0 8 4 y I
4 8 5 myImage Ljava/awt/Image;
MethodParameters:
Name Flags
c final
g
x final
y final
public int getIconWidth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.apple.laf.AquaIcon$CachingScalingIcon.width:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/apple/laf/AquaIcon$CachingScalingIcon;
public int getIconHeight();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.apple.laf.AquaIcon$CachingScalingIcon.height:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/apple/laf/AquaIcon$CachingScalingIcon;
}
SourceFile: "AquaIcon.java"
NestHost: com.apple.laf.AquaIcon
InnerClasses:
abstract CachingScalingIcon = com.apple.laf.AquaIcon$CachingScalingIcon of com.apple.laf.AquaIcon
public abstract Key = java.awt.RenderingHints$Key of java.awt.RenderingHints