Glop path texture support
Change-Id: I505eb05991ca4c9b2e01e49988b8f962fad51462
diff --git a/libs/hwui/Glop.h b/libs/hwui/Glop.h
index 12c6e45..10dbd5c 100644
--- a/libs/hwui/Glop.h
+++ b/libs/hwui/Glop.h
@@ -39,7 +39,6 @@
* are enabled/disabled dynamically based on mesh content.
*/
enum VertexAttribFlags {
- // NOTE: position attribute always enabled
kNone_Attrib = 0,
kTextureCoord_Attrib = 1 << 0,
kColor_Attrib = 1 << 1,
@@ -61,9 +60,6 @@
*/
// TODO: PREVENT_COPY_AND_ASSIGN(...) or similar
struct Glop {
- Rect bounds;
- const RoundRectClipState* roundRectClipState;
-
/*
* Stores mesh - vertex and index data.
*
@@ -85,8 +81,10 @@
struct Fill {
Program* program;
+
Texture* texture;
GLenum textureFilter;
+ GLenum textureClamp;
bool colorEnabled;
FloatColor color;
@@ -113,12 +111,25 @@
bool fudgingOffset;
} transform;
+ const RoundRectClipState* roundRectClipState;
+
+ /**
+ * Blending to be used by this draw - both GL_NONE if blending is disabled.
+ *
+ * Defined by fill step, but can be force-enabled by presence of kAlpha_Attrib
+ */
struct Blend {
GLenum src;
GLenum dst;
} blend;
/**
+ * Bounds of the drawing command in layer space. Only mapped into layer
+ * space once GlopBuilder::build() is called.
+ */
+ Rect bounds;
+
+ /**
* Additional render state to enumerate:
* - scissor + (bits for whether each of LTRB needed?)
* - stencil mode (draw into, mask, count, etc)