diff options
author | Aki <please@ignore.pl> | 2022-04-01 21:23:39 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2022-04-01 21:23:39 +0200 |
commit | 3c487c5cd69c53d6fea948643c0a76df03516605 (patch) | |
tree | 72730c7b8b26a5ef8fc9a987ec4c16129efd5aac /StarsEx/ImageBox.h | |
parent | 8f353abd0bfe18baddd8a8250ab7c4f2d1c83a6e (diff) | |
download | starshatter-3c487c5cd69c53d6fea948643c0a76df03516605.zip starshatter-3c487c5cd69c53d6fea948643c0a76df03516605.tar.gz starshatter-3c487c5cd69c53d6fea948643c0a76df03516605.tar.bz2 |
Moved Stars45 to StarsEx
Diffstat (limited to 'StarsEx/ImageBox.h')
-rw-r--r-- | StarsEx/ImageBox.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/StarsEx/ImageBox.h b/StarsEx/ImageBox.h new file mode 100644 index 0000000..24e2e53 --- /dev/null +++ b/StarsEx/ImageBox.h @@ -0,0 +1,70 @@ +/* Starshatter: The Open Source Project + Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors + Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors + Copyright (c) 1997-2006, Destroyer Studios LLC. + + AUTHOR: John DiCamillo + + + OVERVIEW + ======== + ImageBox class +*/ + +#ifndef ImageBox_h +#define ImageBox_h + +#include "Types.h" +#include "ActiveWindow.h" +#include "Bitmap.h" + +// +--------------------------------------------------------------------+ + +class ImageBox : public ActiveWindow +{ +public: + ImageBox(ActiveWindow* p, int ax, int ay, int aw, int ah, DWORD id=0); + ImageBox(Screen* s, int ax, int ay, int aw, int ah, DWORD id=0); + virtual ~ImageBox(); + + // Operations: + virtual void Draw(); + + // Event Target Interface: + virtual int OnMouseMove(int x, int y); + virtual int OnLButtonDown(int x, int y); + virtual int OnLButtonUp(int x, int y); + virtual int OnClick(); + virtual int OnMouseEnter(int x, int y); + virtual int OnMouseExit(int x, int y); + + // Property accessors: + int GetBlendMode() const { return blend_mode; } + void SetBlendMode(int blend) { blend_mode = blend; } + bool GetBorder() const { return border; } + void SetBorder(bool bNewValue) { border = bNewValue; } + Color GetBorderColor() const { return border_color; } + void SetBorderColor(Color c) { border_color = c; } + void GetPicture(Bitmap& img) const; + void SetPicture(const Bitmap& img); + int GetPictureLocation() const; + void SetPictureLocation(int nNewValue); + Rect GetTargetRect() const { return target_rect; } + void SetTargetRect(const Rect& r) { target_rect = r; } + +protected: + virtual void DrawTabbedText(); + + Rect CalcLabelRect(int img_w, int img_h); + Rect CalcPictureRect(); + + bool border; + Color border_color; + Bitmap picture; + int picture_loc; + int blend_mode; + Rect target_rect; +}; + +#endif // ImageBox_h + |