12345678910111213141516171819202122232425262728293031323334353637 |
- // Copyright (c) 2011 LearnBoost <tj@learnboost.com>
- #pragma once
- #include <cairo.h>
- #include <nan.h>
- #include <v8.h>
- /*
- * Canvas types.
- */
- typedef enum {
- NO_REPEAT, // match CAIRO_EXTEND_NONE
- REPEAT, // match CAIRO_EXTEND_REPEAT
- REPEAT_X, // needs custom processing
- REPEAT_Y // needs custom processing
- } repeat_type_t;
- extern const cairo_user_data_key_t *pattern_repeat_key;
- class Pattern: public Nan::ObjectWrap {
- public:
- static Nan::Persistent<v8::FunctionTemplate> constructor;
- static Nan::Persistent<v8::Function> _DOMMatrix;
- static void Initialize(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE target);
- static NAN_METHOD(New);
- static NAN_METHOD(SaveExternalModules);
- static NAN_METHOD(SetTransform);
- static repeat_type_t get_repeat_type_for_cairo_pattern(cairo_pattern_t *pattern);
- Pattern(cairo_surface_t *surface, repeat_type_t repeat);
- inline cairo_pattern_t *pattern(){ return _pattern; }
- private:
- ~Pattern();
- cairo_pattern_t *_pattern;
- repeat_type_t _repeat;
- };
|