19 #include "win_theme.h" 20 #include "win_scrollbar.h" 24 win_scrollbar::win_scrollbar()
30 set_visible_scrollbar(
true);
32 set_trans_scrollbar(
false);
34 set_brightness_scrollbar(
false);
46 set_visible_scrollbar(
true);
48 set_trans_scrollbar(
false);
50 set_brightness_scrollbar(
false);
62 set_visible_scrollbar(
true);
64 set_trans_scrollbar(
false);
66 set_brightness_scrollbar(
false);
74 win_scrollbar::win_scrollbar(
char * rep)
80 set_visible_scrollbar(
true);
82 set_trans_scrollbar(
false);
84 set_brightness_scrollbar(
false);
91 win_scrollbar::~win_scrollbar()
103 void win_scrollbar::set_scrollbar(
win_theme & wt)
105 *
this=*(wt.scrollbar);
109 void win_scrollbar::init()
120 bar_brightness_=NULL;
121 back_brightness_=NULL;
129 bar_top_=
new image();
130 *bar_top_=*(wb.bar_top_);
131 bar_mid_=
new image();
132 *bar_mid_=*(wb.bar_mid_);
133 bar_bot_=
new image();
134 *bar_bot_=*(wb.bar_bot_);
135 bar_flex_=
new image();
136 *bar_flex_=*(wb.bar_flex_);
138 back_top_=
new image();
139 *back_top_=*(wb.back_top_);
140 back_mid_=
new image();
141 *back_mid_=*(wb.back_mid_);
142 back_bot_=
new image();
143 *back_bot_=*(wb.back_bot_);
151 bar_brightness_ =
new image();
152 back_brightness_ =
new image();
164 void win_scrollbar::load(
char * theme)
167 char path[255];
char tmp[255];
168 strcpy(path,WIN_DIRECTORY);
169 strcat(path,WIN_SCROLLBAR_DIRECTORY);
177 bar_brightness_ =
new image();
178 back_brightness_ =
new image();
182 bar_top_=
new image();
184 strcat(tmp,WIN_SCROLLBAR_BAR_TOP);
187 bar_mid_=
new image();
189 strcat(tmp,WIN_SCROLLBAR_BAR_MID);
192 bar_bot_=
new image();
194 strcat(tmp,WIN_SCROLLBAR_BAR_BOT);
197 bar_flex_=
new image();
199 strcat(tmp,WIN_SCROLLBAR_BAR_FLEX);
202 back_top_=
new image();
204 strcat(tmp,WIN_SCROLLBAR_BACK_TOP);
207 back_mid_=
new image();
209 strcat(tmp,WIN_SCROLLBAR_BACK_MID);
212 back_bot_=
new image();
214 strcat(tmp,WIN_SCROLLBAR_BACK_BOT);
218 void win_scrollbar::update_back()
220 if(!wsc_ || !back_)
return;
225 back_->
tile(*back_mid_);
229 back_top_->
draw(0,0,NULL,back_);
235 back_brightness_->
brightness(*back_, WIN_BRIGHTNESS_LEVEL);
239 void win_scrollbar::refresh()
243 bar_draw_=bar_brightness_;
245 back_draw_=back_brightness_;
256 void win_scrollbar::destroy()
258 if(back_bot_)
delete back_bot_;
260 if(back_top_)
delete back_top_;
262 if(back_mid_)
delete back_mid_;
264 if(bar_bot_)
delete bar_bot_;
266 if(bar_mid_)
delete bar_mid_;
268 if(bar_top_)
delete bar_top_;
270 if(bar_flex_)
delete bar_flex_;
272 if(bar_)
delete bar_;
274 if(back_)
delete back_;
276 if(bar_brightness_)
delete bar_brightness_;
278 if(back_brightness_)
delete back_brightness_;
282 void win_scrollbar::update_bar()
284 if(!wsc_ || !bar_)
return;
285 if (!(wsc_->
height() + wsc_->amplitude()))
return;
298 bar_->
tile(*bar_flex_);
301 bar_top_->
draw(0,0,NULL,bar_);
314 bar_top_->
draw(0,0,NULL,bar_);
320 bar_mid_->
draw(0,bar_top_->
height(),NULL,bar_);
322 bar_brightness_->
brightness(*bar_,WIN_BRIGHTNESS_LEVEL);
328 if(!visible_ || !back_draw_ || !bar_draw_)
return;
u_int16 height() const
Returns the height of the drawable.
void resize(u_int16 l, u_int16 h)
Resize this image.
#define u_int16
16 bits long unsigned integer
u_int16 length() const
Returns the length of the drawing_area.
u_int16 length() const
Returns the length of the drawable.
Image manipulation class.
s_int16 real_y() const
Return the vertical position of the win_*.
void tile(const surface &src)
Tiles a surface.
Implements "drawing zones" for drawing operations.
A* pathfinding algorithm implementation class.
s_int16 real_x() const
Return the horizontal position of the win_*.
void brightness(const surface &src, u_int8 cont, bool proceed_mask=false)
Applies a "brightness" to a surface.
s_int8 load_pnm(string fname)
Loads an image from a file name, in PNM format, without alpha and mask values.
u_int16 height() const
Returns the height of the drawing_area.
void set_mask(bool m)
Sets the mask parameter of the surface.
void draw(s_int16 x, s_int16 y, const drawing_area *da_opt=NULL, surface *target=NULL) const
Draw the surface.