#include <button.h>
Inheritance diagram for PushButton:
Public Methods | |
PushButton (char *, int, int) | |
PushButton (char *, int, int, int, int) | |
void | Init (Display *, int, int) |
~PushButton () | |
void | Draw () |
void | Erase () |
BOOLEAN | ButtonBounds (int, int) |
BOOLEAN | ButtonStatus () |
int | ButtonId () |
Message | Dispatch (Message &) |
int | GetXDim () |
int | GetYDim () |
Private Methods | |
void | set_constants (char *, int, int) |
void | image_size () |
void | image_size (int, int) |
void | draw_shadows (SHADOW_STYLE, int) |
void | draw_frame () |
void | name_button () |
void | depress_button () |
void | redraw () |
void | animate_button () |
Private Attributes | |
void * | surface |
int | string_height |
int | string_width |
int | X2 |
int | Y2 |
int | xdim |
int | ydim |
char | string [80] |
int | Color |
int | IdNum |
BOOLEAN | Activated |
BOOLEAN | Drawn |
|
Definition at line 69 of file button.h. References image_size(), set_constants(), ScrnObj::X, X2, xdim, ScrnObj::Y, Y2, and ydim.
00070 {set_constants(name, color, Id); image_size(); 00071 xdim=X2-X; ydim=Y2-Y;} |
|
Definition at line 73 of file button.h. References image_size(), set_constants(), ScrnObj::X, X2, xdim, ScrnObj::Y, Y2, and ydim.
00074 {set_constants(name, color, Id); image_size(x2, y2); 00075 xdim=X2-X; ydim=Y2-Y;} |
|
Definition at line 47 of file button.h. References Erase(), and surface.
|
|
Definition at line 84 of file button.h. References depress_button(), and redraw(). Referenced by Dispatch().
00085 {if (Activated) depress_button(); else redraw();} |
|
Definition at line 124 of file button.c. References False, SHADOWS, True, ScrnObj::X, X2, ScrnObj::Y, and Y2. Referenced by Dispatch().
00125 { 00126 // Mouse will call and supply the coordinates of its position 00127 // It's up to the button itself to determine it's bounds. 00128 00129 BOOLEAN flag = False; 00130 00131 if ((Mx<=X2-SHADOWS) && (Mx>=X) && (My<=Y2-SHADOWS) && (My>=Y)) 00132 flag = True; 00133 else 00134 flag = False; 00135 00136 return flag; 00137 } |
|
Definition at line 90 of file button.h. References IdNum.
00091 {return IdNum;} |
|
Definition at line 87 of file button.h. References Activated, and BOOLEAN.
00088 {return Activated;} |
|
Definition at line 82 of file button.c. References BOTTOM_RIGHT, ScrnObj::Disp, Viewport::Done(), draw_shadows(), Viewport::FastDraw(), FRAME, Viewport::Line(), name_button(), Viewport::SetColor(), TOP_LEFT, ScrnObj::X, X2, ScrnObj::Y, and Y2. Referenced by animate_button().
00083 { 00084 Disp->FastDraw(); 00085 00086 // Re-modified for test... 00087 draw_shadows(BOTTOM_RIGHT, LIGHTGRAY); 00088 draw_shadows(TOP_LEFT, LIGHTGRAY); 00089 Disp->SetColor(DARKGRAY); 00090 Disp->Line(X+FRAME, Y+FRAME, X2-FRAME, Y+FRAME); 00091 Disp->Line(X+FRAME, Y+FRAME, X+FRAME, Y2-FRAME); 00092 00093 name_button(); 00094 Disp->Done(); 00095 } |
|
Reimplemented from ScrnObj. Definition at line 177 of file button.c. References Activated, animate_button(), ButtonBounds(), ButtonMsg, ButtonPress, Message::code, Message::d1, Message::d2, False, IdNum, LMouseDown, LMouseUp, MouseMsg, MouseStillDown, Message::origin, and True.
00178 { 00179 switch(msg.origin) { 00180 case MouseMsg: 00181 if (ButtonBounds(msg.d1, msg.d2)) { 00182 switch(msg.code) { 00183 case LMouseDown: 00184 Activated = True; 00185 animate_button(); 00186 return Acknowledged; 00187 case MouseStillDown: 00188 if(!Activated) { 00189 Activated = True; 00190 animate_button(); 00191 } 00192 return Acknowledged; 00193 case LMouseUp: 00194 Activated = False; 00195 animate_button(); 00196 return Message (ButtonMsg, ButtonPress, IdNum); 00197 default: 00198 return NullMsg; 00199 } 00200 } 00201 if(msg.code==MouseStillDown && Activated) { 00202 Activated = False; 00203 animate_button(); 00204 } 00205 return NullMsg; 00206 00207 /* case KeyMsg: 00208 if (KeyBounds(msg.d1, msg.d2) 00209 return NullMsg; */ 00210 } 00211 00212 return NullMsg; 00213 } |
|
Implements ScrnObj. Definition at line 47 of file button.c. References Activated, Viewport::Bar(), BOTTOM_RIGHT, ScrnObj::Disp, Viewport::Done(), draw_frame(), draw_shadows(), Drawn, False, Viewport::FastDraw(), FRAME, name_button(), Viewport::SetFillStyle(), TOP_LEFT, ScrnObj::X, X2, ScrnObj::Y, Y2, and Yes.
00048 { 00049 Activated = False; 00050 Drawn = Yes; 00051 00052 Disp->FastDraw(); 00053 Disp->SetFillStyle(SOLID_FILL, LIGHTGRAY); 00054 Disp->Bar(X+FRAME, Y+FRAME, X2-FRAME, Y2-FRAME); 00055 00056 draw_shadows(BOTTOM_RIGHT, DARKGRAY); 00057 draw_shadows(TOP_LEFT, WHITE); 00058 draw_frame(); 00059 name_button(); 00060 Disp->Done(); 00061 } |
|
Definition at line 139 of file button.c. References ScrnObj::Disp, FRAME, Viewport::Rectangle(), Viewport::SetColor(), Viewport::SetLineStyle(), ScrnObj::X, X2, ScrnObj::Y, and Y2. Referenced by Draw().
|
|
Definition at line 97 of file button.c. References BOTTOM_LEFT, BOTTOM_RIGHT, ScrnObj::Disp, FRAME, Viewport::Line(), Viewport::SetColor(), SHADOW_STYLE, SHADOWS, TOP_LEFT, TOP_RIGHT, ScrnObj::X, X2, ScrnObj::Y, and Y2. Referenced by depress_button(), Draw(), and redraw().
00098 { 00099 // Side shadows... 00100 int x = X+FRAME, y = Y+FRAME, x2 = X2-SHADOWS+FRAME, y2 = Y2-SHADOWS+FRAME; 00101 00102 Disp->SetColor(color); 00103 for(int count=0; count<SHADOWS; count++) 00104 { 00105 switch(style) { 00106 case TOP_LEFT: 00107 Disp->Line(x+count, y+count, x2-count, y+count); 00108 Disp->Line(x+count, y+count, x+count, y2-count); 00109 break; 00110 case BOTTOM_RIGHT: 00111 Disp->Line(x+count, y2-count, x2-count, y2-count); 00112 Disp->Line(x2-count, y+count, x2-count, y2-count); 00113 break; 00114 case TOP_RIGHT: 00115 // Undefined for now... 00116 break; 00117 case BOTTOM_LEFT: 00118 // Undefined for now... 00119 break; 00120 } 00121 } 00122 } |
|
Reimplemented from ScrnObj. Definition at line 63 of file button.c. References Viewport::Bar(), ScrnObj::Disp, Drawn, Viewport::GetBkColor(), No, Viewport::SetFillStyle(), ScrnObj::X, X2, ScrnObj::Y, Y2, and Yes. Referenced by ~PushButton().
|
|
Reimplemented from ScrnObj. Definition at line 93 of file button.h. References xdim. Referenced by CPanelWindow::Init(), UserInterface::Intro(), MessageWin(), UserInterface::ShowSpyMoves(), and UserInterface::UFWOOM().
00094 {return xdim;} |
|
Reimplemented from ScrnObj. Definition at line 96 of file button.h. References ydim. Referenced by CPanelWindow::Init(), UserInterface::Intro(), MessageWin(), UserInterface::ShowSpyMoves(), UserInterface::TransPop(), and UserInterface::UFWOOM().
00097 {return ydim;} |
|
Definition at line 77 of file button.h. References ScrnObj::X, X2, ScrnObj::Y, and Y2.
|
|
Definition at line 80 of file button.h. References BORDERX, BORDERY, FRAME, SHADOWS, string_height, string_width, ScrnObj::X, X2, ScrnObj::Y, and Y2. Referenced by PushButton().
|
|
Reimplemented from ScrnObj. Definition at line 39 of file button.c. References ScrnObj::Disp, ScrnObj::X, X2, ScrnObj::Y, and Y2.
|
|
Definition at line 147 of file button.c. References BORDERX, BORDERY, byte, Color, ScrnObj::Disp, FONT, FONT_SIZE, FRAME, Viewport::GetImage(), Viewport::GetMaxX(), Viewport::GetMaxY(), Viewport::OutTextXY(), Viewport::PutImage(), Viewport::Rectangle(), Viewport::SetColor(), Viewport::SetTextJustify(), Viewport::SetTextStyle(), SHADOWS, string, surface, ScrnObj::X, X2, ScrnObj::Y, and Y2. Referenced by depress_button(), Draw(), and redraw().
00148 { 00149 int displacement, x, y, x2, y2; 00150 00151 displacement = (Activated)? 1 : 0; 00152 00153 x = X+BORDERX+SHADOWS+FRAME+displacement+1; 00154 y = Y+BORDERY+SHADOWS+FRAME+displacement-2; 00155 x2 = X2-BORDERX-SHADOWS-FRAME+displacement+1; 00156 y2 = Y2-BORDERY-SHADOWS-FRAME+displacement+1; 00157 00158 Disp->SetColor(LIGHTGRAY); 00159 Disp->Rectangle(x-displacement, y-displacement, x2+1, y2+1); 00160 00161 Viewport surf (Disp, x, y, x2, y2); 00162 00163 if(surface==NULL) { 00164 int s = imagesize(x, y, x2, y2); 00165 surface = (void*) new byte [s]; 00166 assert (surface != NULL); 00167 surf.SetColor(Color); 00168 surf.SetTextStyle (FONT, HORIZ_DIR, FONT_SIZE); 00169 surf.SetTextJustify(CENTER_TEXT, CENTER_TEXT); 00170 surf.OutTextXY(surf.GetMaxX()/2, surf.GetMaxY()/2, string); 00171 surf.GetImage(0, 0, surf.GetMaxX(), surf.GetMaxY(), surface); 00172 } 00173 else 00174 surf.PutImage(0, 0, surface, COPY_PUT); 00175 } |
|
Definition at line 72 of file button.c. References BOTTOM_RIGHT, ScrnObj::Disp, Viewport::Done(), draw_shadows(), Viewport::FastDraw(), name_button(), and TOP_LEFT. Referenced by animate_button().
00073 { 00074 Disp->FastDraw(); 00075 00076 draw_shadows(BOTTOM_RIGHT, DARKGRAY); 00077 draw_shadows(TOP_LEFT, WHITE); 00078 name_button(); 00079 Disp->Done(); 00080 } |
|
Definition at line 20 of file button.c. References Activated, Color, Drawn, False, FONT, FONT_SIZE, IdNum, No, Viewport::SetTextStyle(), string, string_height, string_width, surface, Viewport::TextHeight(), Viewport::TextWidth(), ScrnObj::X, and ScrnObj::Y. Referenced by PushButton().
00021 { 00022 Activated = False; 00023 Color = color; 00024 surface = NULL; 00025 strcpy(string, name); 00026 IdNum = Id; 00027 Drawn = No; 00028 X=0; Y=0; 00029 00030 Viewport surf; 00031 surf.SetTextStyle(FONT, HORIZ_DIR, FONT_SIZE); 00032 00033 string_height = surf.TextHeight(string); 00034 // Adjust for differing fonts... 00035 string_height = (int)(string_height+(string_height*.33)); 00036 string_width = surf.TextWidth(string); 00037 } |
|
Definition at line 41 of file button.h. Referenced by ButtonStatus(), Dispatch(), Draw(), and set_constants(). |
|
Definition at line 40 of file button.h. Referenced by name_button(), and set_constants(). |
|
Reimplemented from ScrnObj. Definition at line 41 of file button.h. Referenced by Draw(), Erase(), and set_constants(). |
|
Definition at line 40 of file button.h. Referenced by ButtonId(), Dispatch(), and set_constants(). |
|
Definition at line 39 of file button.h. Referenced by name_button(), and set_constants(). |
|
Definition at line 38 of file button.h. Referenced by image_size(), and set_constants(). |
|
Definition at line 38 of file button.h. Referenced by image_size(), and set_constants(). |
|
Definition at line 37 of file button.h. Referenced by name_button(), set_constants(), and ~PushButton(). |
|
Definition at line 38 of file button.h. Referenced by ButtonBounds(), depress_button(), Draw(), draw_frame(), draw_shadows(), Erase(), image_size(), Init(), name_button(), and PushButton(). |
|
Definition at line 38 of file button.h. Referenced by GetXDim(), and PushButton(). |
|
Definition at line 38 of file button.h. Referenced by ButtonBounds(), depress_button(), Draw(), draw_frame(), draw_shadows(), Erase(), image_size(), Init(), name_button(), and PushButton(). |
|
Definition at line 38 of file button.h. Referenced by GetYDim(), and PushButton(). |