79 (CHECK_SHADER | CHECK_TRANSFORM | CHECK_CLIP | CHECK_COMPOSITE); 80 private static final int CHECK_TEXTURE_OP_MASK = 81 (CHECK_SHADER | CHECK_TRANSFORM | CHECK_CLIP | CHECK_COMPOSITE); 82 private static final int CHECK_CLEAR_OP_MASK = 83 (CHECK_CLIP); 84 85 public enum MaskType { 86 SOLID ("Solid"), 87 TEXTURE ("Texture"), 88 ALPHA_ONE ("AlphaOne", true), 89 ALPHA_TEXTURE ("AlphaTexture", true), 90 ALPHA_TEXTURE_DIFF ("AlphaTextureDifference", true), 91 FILL_PGRAM ("FillPgram"), 92 DRAW_PGRAM ("DrawPgram", FILL_PGRAM), 93 FILL_CIRCLE ("FillCircle"), 94 DRAW_CIRCLE ("DrawCircle", FILL_CIRCLE), 95 FILL_ELLIPSE ("FillEllipse"), 96 DRAW_ELLIPSE ("DrawEllipse", FILL_ELLIPSE), 97 FILL_ROUNDRECT ("FillRoundRect"), 98 DRAW_ROUNDRECT ("DrawRoundRect", FILL_ROUNDRECT), 99 DRAW_SEMIROUNDRECT("DrawSemiRoundRect"), 100 FILL_CUBICCURVE("FillCubicCurve"); 101 102 private String name; 103 private MaskType filltype; 104 private boolean newPaintStyle; 105 private MaskType(String name) { 106 this.name = name; 107 } 108 private MaskType(String name, boolean newstyle) { 109 this.name = name; 110 this.newPaintStyle = newstyle; 111 } 112 private MaskType(String name, MaskType filltype) { 113 this.name = name; 114 this.filltype = filltype; 115 } 116 public String getName() { 117 return name; 118 } 119 public MaskType getFillType() { 120 return filltype; 121 } 122 public boolean isNewPaintStyle() { 123 return newPaintStyle; 124 } 125 } 126 127 // mask type 4 bits (12 types) 128 // paint type 2 bits 129 // paint opts 2 bits 130 private static final int NUM_STOCK_SHADER_SLOTS = 131 MaskType.values().length << 4; 132 // TODO: need to dispose these when the context is disposed... (RT-27379) 133 private final Shader[] stockShaders = new Shader[NUM_STOCK_SHADER_SLOTS]; 134 // stockShaders with alpha test 135 private final Shader[] stockATShaders = new Shader[NUM_STOCK_SHADER_SLOTS]; 136 137 public enum SpecialShaderType { 138 TEXTURE_RGB ("Solid_TextureRGB"), 139 TEXTURE_MASK_RGB ("Mask_TextureRGB"), 140 TEXTURE_YV12 ("Solid_TextureYV12"), 141 TEXTURE_First_LCD ("Solid_TextureFirstPassLCD"), 142 TEXTURE_SECOND_LCD ("Solid_TextureSecondPassLCD"), 143 SUPER ("Mask_TextureSuper"); 144 145 private String name; 146 private SpecialShaderType(String name) { 147 this.name = name; | 79 (CHECK_SHADER | CHECK_TRANSFORM | CHECK_CLIP | CHECK_COMPOSITE); 80 private static final int CHECK_TEXTURE_OP_MASK = 81 (CHECK_SHADER | CHECK_TRANSFORM | CHECK_CLIP | CHECK_COMPOSITE); 82 private static final int CHECK_CLEAR_OP_MASK = 83 (CHECK_CLIP); 84 85 public enum MaskType { 86 SOLID ("Solid"), 87 TEXTURE ("Texture"), 88 ALPHA_ONE ("AlphaOne", true), 89 ALPHA_TEXTURE ("AlphaTexture", true), 90 ALPHA_TEXTURE_DIFF ("AlphaTextureDifference", true), 91 FILL_PGRAM ("FillPgram"), 92 DRAW_PGRAM ("DrawPgram", FILL_PGRAM), 93 FILL_CIRCLE ("FillCircle"), 94 DRAW_CIRCLE ("DrawCircle", FILL_CIRCLE), 95 FILL_ELLIPSE ("FillEllipse"), 96 DRAW_ELLIPSE ("DrawEllipse", FILL_ELLIPSE), 97 FILL_ROUNDRECT ("FillRoundRect"), 98 DRAW_ROUNDRECT ("DrawRoundRect", FILL_ROUNDRECT), 99 DRAW_SEMIROUNDRECT("DrawSemiRoundRect"); 100 101 private String name; 102 private MaskType filltype; 103 private boolean newPaintStyle; 104 private MaskType(String name) { 105 this.name = name; 106 } 107 private MaskType(String name, boolean newstyle) { 108 this.name = name; 109 this.newPaintStyle = newstyle; 110 } 111 private MaskType(String name, MaskType filltype) { 112 this.name = name; 113 this.filltype = filltype; 114 } 115 public String getName() { 116 return name; 117 } 118 public MaskType getFillType() { 119 return filltype; 120 } 121 public boolean isNewPaintStyle() { 122 return newPaintStyle; 123 } 124 } 125 126 // mask type 4 bits (14 types) 127 // paint type 2 bits 128 // paint opts 2 bits 129 private static final int NUM_STOCK_SHADER_SLOTS = 130 MaskType.values().length << 4; 131 // TODO: need to dispose these when the context is disposed... (RT-27379) 132 private final Shader[] stockShaders = new Shader[NUM_STOCK_SHADER_SLOTS]; 133 // stockShaders with alpha test 134 private final Shader[] stockATShaders = new Shader[NUM_STOCK_SHADER_SLOTS]; 135 136 public enum SpecialShaderType { 137 TEXTURE_RGB ("Solid_TextureRGB"), 138 TEXTURE_MASK_RGB ("Mask_TextureRGB"), 139 TEXTURE_YV12 ("Solid_TextureYV12"), 140 TEXTURE_First_LCD ("Solid_TextureFirstPassLCD"), 141 TEXTURE_SECOND_LCD ("Solid_TextureSecondPassLCD"), 142 SUPER ("Mask_TextureSuper"); 143 144 private String name; 145 private SpecialShaderType(String name) { 146 this.name = name; |