aboutsummaryrefslogtreecommitdiffhomepage
path: root/obsolete/SkGLState.h
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-02-22 20:50:57 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-02-22 20:50:57 +0000
commit5d32fc4c1cb2a5ee68cd5e195a5959f800cc3bc7 (patch)
treeb57f70a53cf4f87f68bd833ebd8fae3e17f7f833 /obsolete/SkGLState.h
parentffca400ef6f96a280c3e2c09210f950af64a1f24 (diff)
move old (unmaintained) gl backend out of src. src/gpu superceeds this now.
Will delete the files in obsolete/ at some point... git-svn-id: http://skia.googlecode.com/svn/trunk@830 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'obsolete/SkGLState.h')
-rw-r--r--obsolete/SkGLState.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/obsolete/SkGLState.h b/obsolete/SkGLState.h
new file mode 100644
index 0000000000..565498ed96
--- /dev/null
+++ b/obsolete/SkGLState.h
@@ -0,0 +1,74 @@
+
+#ifndef SkGLState_DEFINED
+#define SkGLState_DEFINED
+
+#include "SkGL.h"
+#include "SkSize.h"
+
+class SkGLState {
+public:
+ static SkGLState& GlobalState() { return gState; }
+
+ SkGLState();
+
+ void reset();
+
+ // internally, these are bit_shifts, so they must be 0, 1, ...
+ enum Caps {
+ kDITHER,
+ kTEXTURE_2D,
+ };
+ void enable(Caps);
+ void disable(Caps);
+
+ // internally, these are bit_shifts, so they must be 0, 1, ...
+ enum ClientState {
+ kTEXTURE_COORD_ARRAY,
+ kCOLOR_ARRAY,
+ };
+ void enableClientState(ClientState);
+ void disableClientState(ClientState);
+
+ // we use -1 for unknown, so the enum must be >= 0
+ enum ShadeModel {
+ kFLAT,
+ kSMOOTH,
+ };
+ void shadeModel(ShadeModel);
+
+ void scissor(int x, int y, int w, int h);
+
+ void color(SkColor c) {
+ this->pmColor(SkPreMultiplyColor(c));
+ }
+ void alpha(U8CPU a) {
+ this->pmColor((a << 24) | (a << 16) | (a << 8) | a);
+ }
+ void pmColor(SkPMColor);
+
+ void blendFunc(GLenum src, GLenum dst);
+
+ void pointSize(float);
+ void lineWidth(float);
+
+private:
+ void init();
+
+ unsigned fCapBits;
+ unsigned fClientStateBits;
+ int fShadeModel;
+ SkIPoint fScissorLoc;
+ SkISize fScissorSize;
+ SkPMColor fPMColor;
+ GLenum fSrcBlend, fDstBlend;
+ float fPointSize;
+ float fLineWidth;
+
+ const GLenum* fCapsPtr;
+ const GLenum* fClientPtr;
+ const GLenum* fShadePtr;
+
+ static SkGLState gState;
+};
+
+#endif