#ifndef __V8_WRAPPERS_H__ # define __V8_WRAPPERS_H__ #include #include #include "DialogState.h" #include "TextFieldState.h" #include "ImageFieldState.h" #include "IconFieldState.h" #include "LabelFieldState.h" #include "ButtonFieldState.h" #include "EditFieldState.h" #include "SkinOptions.h" #ifdef UNICODE # define V8_TCHAR uint16_t #else # define V8_TCHAR char #endif class V8Wrappers { public: v8::Handle createDialogWrapper(); v8::Handle createOptionsWrapper(); v8::Handle createOptionWrapper(); v8::Handle createWrapper(FieldType type); v8::Handle fillWrapper(v8::Handle obj, FieldState *state); v8::Handle fillWrapper(v8::Handle obj, DialogState *state); v8::Handle fillWrapper(v8::Handle obj, SkinOptions *opts, bool configure); v8::Handle fillWrapper(v8::Handle obj, SkinOption *opt); void clearTemplates(); private: std::map> templs; void createDialogTemplate(); void createOptionsTemplate(); void createOptionTemplate(); void createTemplateFor(FieldType type); void createTextTemplate(); void createImageTemplate(); void createIconTemplate(); void createLabelTemplate(); void createButtonTemplate(); void createEditTemplate(); void createFontTemplate(); void createBorderTemplate(); v8::Handle createTextWrapper(); v8::Handle createImageWrapper(); v8::Handle createIconWrapper(); v8::Handle createLabelWrapper(); v8::Handle createButtonWrapper(); v8::Handle createEditWrapper(); v8::Handle fillTextWrapper(v8::Handle obj, TextFieldState *state); v8::Handle fillImageWrapper(v8::Handle obj, ImageFieldState *state); v8::Handle fillIconWrapper(v8::Handle obj, IconFieldState *state); v8::Handle fillLabelWrapper(v8::Handle obj, LabelFieldState *state); v8::Handle fillButtonWrapper(v8::Handle obj, ButtonFieldState *state); v8::Handle fillEditWrapper(v8::Handle obj, EditFieldState *state); v8::Handle newInstance(int type); }; #endif // __V8_WRAPPERS_H__