Index: app/gfx/path.h |
=================================================================== |
--- app/gfx/path.h (revision 30814) |
+++ app/gfx/path.h (working copy) |
@@ -5,31 +5,44 @@ |
#ifndef APP_GFX_PATH_H_ |
#define APP_GFX_PATH_H_ |
+#include "app/gfx/native_widget_types.h" |
#include "base/basictypes.h" |
-#if defined(OS_WIN) |
-#include <windows.h> |
-#elif defined(OS_LINUX) |
-typedef struct _GdkRegion GdkRegion; |
-#endif |
- |
#include "third_party/skia/include/core/SkPath.h" |
namespace gfx { |
class Path : public SkPath { |
public: |
+ // Used by Path(Point,size_t) constructor. |
+ struct Point { |
+ int x; |
+ int y; |
+ }; |
+ |
Path() : SkPath() { moveTo(0, 0); } |
-#if defined(OS_WIN) |
- // Creates a HRGN from the path. The caller is responsible for freeing |
- // resources used by this region. This only supports polygon paths. |
- HRGN CreateHRGN() const; |
-#elif defined(OS_LINUX) |
- // Creates a Gdkregion from the path. The caller is responsible for freeing |
- // resources used by this region. This only supports polygon paths. |
- // WARNING: this returns NULL for an empty Path. |
- GdkRegion* CreateGdkRegion() const; |
+ // Creates a path populated with the specified points. |
+ Path(const Point* points, size_t count); |
+ |
+#if defined(OS_WIN) || defined(USE_X11) |
+ // Creates a NativeRegion from the path. The caller is responsible for freeing |
+ // resources used by this region. This only supports polygon paths. |
+ NativeRegion CreateNativeRegion() const; |
+ |
+ // Returns the intersection of the two regions. The caller owns the returned |
+ // object. |
+ static gfx::NativeRegion IntersectRegions(gfx::NativeRegion r1, |
+ gfx::NativeRegion r2); |
+ |
+ // Returns the union of the two regions. The caller owns the returned object. |
+ static gfx::NativeRegion CombineRegions(gfx::NativeRegion r1, |
+ gfx::NativeRegion r2); |
+ |
+ // Returns the difference of the two regions. The caller owns the returned |
+ // object. |
+ static gfx::NativeRegion SubtractRegion(gfx::NativeRegion r1, |
+ gfx::NativeRegion r2); |
#endif |
private: |