1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
/* Starshatter: The Open Source Project
Copyright (c) 2021-2024, 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
|