summaryrefslogtreecommitdiffstats
path: root/base/gfx/vector_device.h
diff options
context:
space:
mode:
Diffstat (limited to 'base/gfx/vector_device.h')
-rw-r--r--base/gfx/vector_device.h118
1 files changed, 3 insertions, 115 deletions
diff --git a/base/gfx/vector_device.h b/base/gfx/vector_device.h
index 5ebc558..55fe22e 100644
--- a/base/gfx/vector_device.h
+++ b/base/gfx/vector_device.h
@@ -2,118 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef BASE_GFX_VECTOR_DEVICE_H_
-#define BASE_GFX_VECTOR_DEVICE_H_
-
-#include "base/basictypes.h"
-#include "base/gfx/platform_device_win.h"
-#include "SkMatrix.h"
-#include "SkRegion.h"
-
-namespace gfx {
-
-// A device is basically a wrapper around SkBitmap that provides a surface for
-// SkCanvas to draw into. This specific device is not not backed by a surface
-// and is thus unreadable. This is because the backend is completely vectorial.
-// This device is a simple wrapper over a Windows device context (HDC) handle.
-class VectorDevice : public PlatformDeviceWin {
- public:
- // Factory function. The DC is kept as the output context.
- static VectorDevice* create(HDC dc, int width, int height);
-
- VectorDevice(HDC dc, const SkBitmap& bitmap);
- virtual ~VectorDevice();
-
- virtual HDC getBitmapDC() {
- return hdc_;
- }
-
- virtual void drawPaint(const SkDraw& draw, const SkPaint& paint);
- virtual void drawPoints(const SkDraw& draw, SkCanvas::PointMode mode,
- size_t count, const SkPoint[], const SkPaint& paint);
- virtual void drawRect(const SkDraw& draw, const SkRect& r,
- const SkPaint& paint);
- virtual void drawPath(const SkDraw& draw, const SkPath& path,
- const SkPaint& paint);
- virtual void drawBitmap(const SkDraw& draw, const SkBitmap& bitmap,
- const SkMatrix& matrix, const SkPaint& paint);
- virtual void drawSprite(const SkDraw& draw, const SkBitmap& bitmap,
- int x, int y, const SkPaint& paint);
- virtual void drawText(const SkDraw& draw, const void* text, size_t len,
- SkScalar x, SkScalar y, const SkPaint& paint);
- virtual void drawPosText(const SkDraw& draw, const void* text, size_t len,
- const SkScalar pos[], SkScalar constY,
- int scalarsPerPos, const SkPaint& paint);
- virtual void drawTextOnPath(const SkDraw& draw, const void* text, size_t len,
- const SkPath& path, const SkMatrix* matrix,
- const SkPaint& paint);
- virtual void drawVertices(const SkDraw& draw, SkCanvas::VertexMode,
- int vertexCount,
- const SkPoint verts[], const SkPoint texs[],
- const SkColor colors[], SkXfermode* xmode,
- const uint16_t indices[], int indexCount,
- const SkPaint& paint);
- virtual void drawDevice(const SkDraw& draw, SkDevice*, int x, int y,
- const SkPaint&);
-
-
- virtual void setMatrixClip(const SkMatrix& transform, const SkRegion& region);
- virtual void drawToHDC(HDC dc, int x, int y, const RECT* src_rect);
- virtual bool IsVectorial() { return true; }
-
- void LoadClipRegion();
-
- private:
- // Applies the SkPaint's painting properties in the current GDI context, if
- // possible. If GDI can't support all paint's properties, returns false. It
- // doesn't execute the "commands" in SkPaint.
- bool ApplyPaint(const SkPaint& paint);
-
- // Selects a new object in the device context. It can be a pen, a brush, a
- // clipping region, a bitmap or a font. Returns the old selected object.
- HGDIOBJ SelectObject(HGDIOBJ object);
-
- // Creates a brush according to SkPaint's properties.
- bool CreateBrush(bool use_brush, const SkPaint& paint);
-
- // Creates a pen according to SkPaint's properties.
- bool CreatePen(bool use_pen, const SkPaint& paint);
-
- // Restores back the previous objects (pen, brush, etc) after a paint command.
- void Cleanup();
-
- // Creates a brush according to SkPaint's properties.
- bool CreateBrush(bool use_brush, COLORREF color);
-
- // Creates a pen according to SkPaint's properties.
- bool CreatePen(bool use_pen, COLORREF color, int stroke_width,
- float stroke_miter, DWORD pen_style);
-
- // Draws a bitmap in the the device, using the currently loaded matrix.
- void InternalDrawBitmap(const SkBitmap& bitmap, int x, int y,
- const SkPaint& paint);
-
- // The Windows Device Context handle. It is the backend used with GDI drawing.
- // This backend is write-only and vectorial.
- HDC hdc_;
-
- // Translation assigned to the DC: we need to keep track of this separately
- // so it can be updated even if the DC isn't created yet.
- SkMatrix transform_;
-
- // The current clipping
- SkRegion clip_region_;
-
- // Previously selected brush before the current drawing.
- HGDIOBJ previous_brush_;
-
- // Previously selected pen before the current drawing.
- HGDIOBJ previous_pen_;
-
- DISALLOW_COPY_AND_ASSIGN(VectorDevice);
-};
-
-} // namespace gfx
-
-#endif // BASE_GFX_VECTOR_DEVICE_H_
-
+// TODO(brettw) this file should be removed and the includes changed to this
+// new location.
+#include "webkit/port/platform/graphics/skia/public/VectorDevice.h"