summaryrefslogtreecommitdiffstats
path: root/libs/hwui/Glop.h
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2015-02-12 10:41:39 -0800
committerChris Craik <ccraik@google.com>2015-02-12 16:16:57 -0800
commit30036092b40badecbe64d9c2bff4850132147f78 (patch)
treeea5a86b5bd90dd3c2fd0c16ce7676cdf2fcd678a /libs/hwui/Glop.h
parent5b14d9893aced2b3ba46f1d90a0752c1a9a43f2f (diff)
downloadframeworks_base-30036092b40badecbe64d9c2bff4850132147f78.zip
frameworks_base-30036092b40badecbe64d9c2bff4850132147f78.tar.gz
frameworks_base-30036092b40badecbe64d9c2bff4850132147f78.tar.bz2
Glop path texture support
Change-Id: I505eb05991ca4c9b2e01e49988b8f962fad51462
Diffstat (limited to 'libs/hwui/Glop.h')
-rw-r--r--libs/hwui/Glop.h19
1 files changed, 15 insertions, 4 deletions
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 @@ class RoundRectClipState;
* 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 @@ enum VertexAttribFlags {
*/
// 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 Glop {
struct Fill {
Program* program;
+
Texture* texture;
GLenum textureFilter;
+ GLenum textureClamp;
bool colorEnabled;
FloatColor color;
@@ -113,12 +111,25 @@ struct Glop {
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)