Add debug mode to measure performance.
Change-Id: I9d4c84034dc200b99c8266165942a7cdbcb5c0c5
diff --git a/libs/hwui/OpenGLRenderer.h b/libs/hwui/OpenGLRenderer.h
index f903505..af2a70b 100644
--- a/libs/hwui/OpenGLRenderer.h
+++ b/libs/hwui/OpenGLRenderer.h
@@ -62,11 +62,13 @@
class OpenGLRenderer {
public:
OpenGLRenderer();
- ~OpenGLRenderer();
+ virtual ~OpenGLRenderer();
void setViewport(int width, int height);
- void prepare();
- void finish();
+
+ virtual void prepare();
+ virtual void finish();
+
void acquireContext();
void releaseContext();
@@ -75,8 +77,10 @@
void restore();
void restoreToCount(int saveCount);
- int saveLayer(float left, float top, float right, float bottom, const SkPaint* p, int flags);
- int saveLayerAlpha(float left, float top, float right, float bottom, int alpha, int flags);
+ virtual int saveLayer(float left, float top, float right, float bottom,
+ const SkPaint* p, int flags);
+ virtual int saveLayerAlpha(float left, float top, float right, float bottom,
+ int alpha, int flags);
void translate(float dx, float dy);
void rotate(float degrees);
@@ -90,16 +94,19 @@
bool quickReject(float left, float top, float right, float bottom);
bool clipRect(float left, float top, float right, float bottom, SkRegion::Op op);
- void drawBitmap(SkBitmap* bitmap, float left, float top, const SkPaint* paint);
- void drawBitmap(SkBitmap* bitmap, const SkMatrix* matrix, const SkPaint* paint);
- void drawBitmap(SkBitmap* bitmap, float srcLeft, float srcTop, float srcRight, float srcBottom,
- float dstLeft, float dstTop, float dstRight, float dstBottom, const SkPaint* paint);
- void drawPatch(SkBitmap* bitmap, Res_png_9patch* patch, float left, float top,
+ virtual void drawBitmap(SkBitmap* bitmap, float left, float top, const SkPaint* paint);
+ virtual void drawBitmap(SkBitmap* bitmap, const SkMatrix* matrix, const SkPaint* paint);
+ virtual void drawBitmap(SkBitmap* bitmap, float srcLeft, float srcTop,
+ float srcRight, float srcBottom, float dstLeft, float dstTop,
+ float dstRight, float dstBottom, const SkPaint* paint);
+ virtual void drawPatch(SkBitmap* bitmap, Res_png_9patch* patch, float left, float top,
float right, float bottom, const SkPaint* paint);
- void drawColor(int color, SkXfermode::Mode mode);
- void drawRect(float left, float top, float right, float bottom, const SkPaint* paint);
- void drawPath(SkPath* path, SkPaint* paint);
- void drawLines(float* points, int count, const SkPaint* paint);
+ virtual void drawColor(int color, SkXfermode::Mode mode);
+ virtual void drawRect(float left, float top, float right, float bottom, const SkPaint* paint);
+ virtual void drawPath(SkPath* path, SkPaint* paint);
+ virtual void drawLines(float* points, int count, const SkPaint* paint);
+ virtual void drawText(const char* text, int bytesCount, int count, float x, float y,
+ SkPaint* paint);
void resetShader();
void setupShader(SkiaShader* shader);
@@ -110,7 +117,17 @@
void resetShadow();
void setupShadow(float radius, float dx, float dy, int color);
- void drawText(const char* text, int bytesCount, int count, float x, float y, SkPaint* paint);
+protected:
+ /**
+ * Compose the layer defined in the current snapshot with the layer
+ * defined by the previous snapshot.
+ *
+ * The current snapshot *must* be a layer (flag kFlagIsLayer set.)
+ *
+ * @param curent The current snapshot containing the layer to compose
+ * @param previous The previous snapshot to compose the current layer with
+ */
+ virtual void composeLayer(sp<Snapshot> current, sp<Snapshot> previous);
private:
/**
@@ -138,17 +155,6 @@
void setScissorFromClip();
/**
- * Compose the layer defined in the current snapshot with the layer
- * defined by the previous snapshot.
- *
- * The current snapshot *must* be a layer (flag kFlagIsLayer set.)
- *
- * @param curent The current snapshot containing the layer to compose
- * @param previous The previous snapshot to compose the current layer with
- */
- void composeLayer(sp<Snapshot> current, sp<Snapshot> previous);
-
- /**
* Creates a new layer stored in the specified snapshot.
*
* @param snapshot The snapshot associated with the new layer