123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602 |
- #ifndef _BUTTWND_H
- #define _BUTTWND_H
- #include <wasabicfg.h>
- #include <bfc/common.h>
- #include <tataki/canvas/canvas.h>
- #include <tataki/bitmap/autobitmap.h>
- #include <api/wnd/wndclass/guiobjwnd.h>
- #include <tataki/color/skinclr.h>
- #include <api/wnd/accessible.h>
- #include <api/wnd/textalign.h>
- class api_region;
- #define DEFAULT_BUTTON_TEXT_SIZE 14
- #define DEFEREDCB_DOWN 0x450
- #define DEFEREDCB_UP 0x451
- #define BUTTONWND_PARENT GuiObjectWnd
- class ButtonWnd : public BUTTONWND_PARENT {
- public:
-
- ButtonWnd(const wchar_t *button_text=NULL);
-
-
- virtual ~ButtonWnd();
-
- virtual int onPaint(Canvas *canvas);
-
- int setBitmaps(const wchar_t *normal, const wchar_t *pushed=NULL, const wchar_t *hilited=NULL, const wchar_t *activated=NULL);
- SkinBitmap *getNormalBitmap();
-
-
- int setBitmaps(OSMODULEHANDLE hInst, int normal, int pushed, int hilited, int activated, const wchar_t *colorgroup=NULL);
-
-
- int setRightBitmap(const wchar_t *bitmap);
-
-
- int setBitmapCenter(int centerit);
-
-
- void setUseBaseTexture(int useit);
-
-
- void setBaseTexture(SkinBitmap *bmp, int x, int y, int tile=0);
-
-
- void setHInstanceColorGroup(const wchar_t *_colorgroup) { colorgroup = _colorgroup; }
-
- int setButtonText(const wchar_t *text, int size=DEFAULT_BUTTON_TEXT_SIZE);
-
- const wchar_t * getButtonText();
-
- void setTextAlign(TextAlign align);
- TextAlign getTextAlign() { return alignment; }
-
-
- void setWantFocus(int want) { iwantfocus = !!want; }
-
-
- virtual int wantFocus() const { return iwantfocus; }
-
-
- virtual void onLeaveArea();
- virtual void onEnterArea();
-
- int getWidth();
-
-
- int getHeight();
-
- virtual int onGetFocus();
-
-
- virtual int onKillFocus();
-
-
- virtual int onChar(unsigned int c);
-
- void enableButton(int enabled);
-
- virtual void onLeftPush(int x, int y);
-
-
- virtual void onRightPush(int x, int y);
-
-
- virtual void onLeftDoubleClick(int x, int y);
-
-
- virtual void onRightDoubleClick(int x, int y);
-
- virtual int onResize();
-
- virtual int onMouseMove(int x, int y);
-
- virtual int onEnable(int is);
-
- virtual int getEnabled() const;
-
-
- virtual int getPreferences(int what);
-
- virtual int userDown() { return userdown; }
-
-
- virtual int wantClicks() { return getEnabled(); }
-
- void setCheckBitmap(const wchar_t *checkbm);
-
-
- void setChecked(int c) { checked=c; };
-
-
- int getChecked() const { return checked; }
-
-
- void setHilite(int h);
-
-
- int getHilite();
-
-
- void setPushed(int p);
-
- int getPushed() const;
-
-
- void setAutoDim(int ad) { autodim=!!ad; }
-
-
- int getAutoDim() const { return autodim; }
-
-
- virtual void setActivatedButton(int a);
-
-
- virtual void setActivatedNoCallback(int a);
-
-
- virtual int getActivatedButton();
-
-
- void setBorders(int b);
-
-
- void setBorderStyle(const wchar_t *style);
-
-
- const wchar_t *getBorderStyle();
-
-
- void setInactiveAlpha(int a);
-
-
- void setActiveAlpha(int a);
-
- void setColors(const wchar_t *text=L"studio.button.text", const wchar_t *hilite=L"studio.button.hiliteText", const wchar_t *dimmed=L"studio.button.dimmedText");
-
-
- virtual void freeResources();
-
-
- virtual void reloadResources();
-
- virtual int onActivateButton(int active);
-
-
- virtual api_region *getRegion();
-
-
- virtual void setModalRetCode(int r);
-
-
- virtual int getModalRetCode() const;
-
-
- virtual int onInit();
- virtual int onDeferredCallback(intptr_t p1, intptr_t p2);
- virtual void setTextColor(const wchar_t *text);
- virtual void setTextHoverColor(const wchar_t *text);
- virtual void setTextDimmedColor(const wchar_t *text);
- virtual void checkState(POINT *pt=NULL);
- virtual void onCancelCapture();
- private:
- AutoSkinBitmap normalbmp, pushedbmp, hilitebmp, checkbmp, rightbmp, activatedbmp;
- SkinBitmap *base_texture;
- RegionI *normalrgn, *pushedrgn, *hirgn, *currgn, *activatedrgn;
- int textsize;
- TextAlign alignment;
- SkinColor color_text, color_hilite, color_dimmed;
- int retcode;
- StringW normalBmpStr, pushedBmpStr, hilitedBmpStr, activatedBmpStr;
- int folderstyle;
- int autodim;
- int userhilite;
- int userdown;
- int activated;
- int enabled;
- int borders;
- const wchar_t *borderstyle;
- int dsoNormal, dsoPushed, dsoDisabled;
- int iwantfocus;
- int center_bitmap;
- int use_base_texture;
- int checked;
- int xShift, yShift, tile_base_texture;
- int inactivealpha, activealpha;
- StringW colorgroup;
- int forcedown;
- };
- #endif
|