Slightly improve the parameter list of member function int Fl_Graphics_Driver::start_image(...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12079 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
0c31411df9
commit
6eea76e187
@ -135,9 +135,9 @@ protected:
|
||||
virtual Fl_Bitmask create_bitmask(int w, int h, const uchar *array) {return 0; }
|
||||
/** Support function for image drawing */
|
||||
virtual void delete_bitmask(Fl_Bitmask bm) {}
|
||||
int start_image(int XP, int YP, int WP, int HP, int w, int h, int &cx, int &cy,
|
||||
int &X, int &Y, int &W, int &H);
|
||||
// accessor functions to protected image members
|
||||
int start_image(Fl_Image *img, int XP, int YP, int WP, int HP, int &cx, int &cy,
|
||||
int &X, int &Y, int &W, int &H);
|
||||
static fl_uintptr_t* id(Fl_RGB_Image *rgb) {return &(rgb->id_);}
|
||||
static fl_uintptr_t* id(Fl_Pixmap *pm) {return &(pm->id_);}
|
||||
static fl_uintptr_t* id(Fl_Bitmap *bm) {return &(bm->id_);}
|
||||
|
||||
@ -121,7 +121,7 @@ int Fl_Bitmap::prepare(int XP, int YP, int WP, int HP, int &cx, int &cy,
|
||||
draw_empty(XP, YP);
|
||||
return 1;
|
||||
}
|
||||
if (fl_graphics_driver->start_image(XP,YP,WP,HP,w(),h(),cx,cy,X,Y,W,H)) return 1;
|
||||
if (fl_graphics_driver->start_image(this, XP,YP,WP,HP,cx,cy,X,Y,W,H)) return 1;
|
||||
if (!id_)
|
||||
id_ = fl_graphics_driver->cache(this, w(), h(), array);
|
||||
return 0;
|
||||
|
||||
@ -135,7 +135,7 @@ void Fl_Graphics_Driver::XDestroyRegion(Fl_Region r)
|
||||
}
|
||||
|
||||
/** Helper function for image drawing by platform-specific graphics drivers */
|
||||
int Fl_Graphics_Driver::start_image(int XP, int YP, int WP, int HP, int w, int h, int &cx, int &cy,
|
||||
int Fl_Graphics_Driver::start_image(Fl_Image *img, int XP, int YP, int WP, int HP, int &cx, int &cy,
|
||||
int &X, int &Y, int &W, int &H)
|
||||
{
|
||||
// account for current clip region (faster on Irix):
|
||||
@ -143,10 +143,10 @@ int Fl_Graphics_Driver::start_image(int XP, int YP, int WP, int HP, int w, int h
|
||||
cx += X-XP; cy += Y-YP;
|
||||
// clip the box down to the size of image, quit if empty:
|
||||
if (cx < 0) {W += cx; X -= cx; cx = 0;}
|
||||
if (cx+W > w) W = w-cx;
|
||||
if (cx+W > img->w()) W = img->w()-cx;
|
||||
if (W <= 0) return 1;
|
||||
if (cy < 0) {H += cy; Y -= cy; cy = 0;}
|
||||
if (cy+H > h) H = h-cy;
|
||||
if (cy+H > img->h()) H = img->h()-cy;
|
||||
if (H <= 0) return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -61,7 +61,7 @@ int Fl_Pixmap::prepare(int XP, int YP, int WP, int HP, int &cx, int &cy,
|
||||
WP = w();
|
||||
HP = h();
|
||||
}
|
||||
if ( fl_graphics_driver->start_image(XP,YP,WP,HP,w(),h(),cx,cy,X,Y,W,H) ) return 1;
|
||||
if ( fl_graphics_driver->start_image(this, XP,YP,WP,HP,cx,cy,X,Y,W,H) ) return 1;
|
||||
if (!id_) {
|
||||
id_ = fl_graphics_driver->cache(this, w(), h(), data());
|
||||
}
|
||||
|
||||
@ -490,7 +490,7 @@ void Fl_GDI_Graphics_Driver::draw(Fl_RGB_Image *img, int XP, int YP, int WP, int
|
||||
Fl_Graphics_Driver::draw_empty(img, XP, YP);
|
||||
return;
|
||||
}
|
||||
if (start_image(XP, YP, WP, HP, img->w(), img->h(), cx, cy, X, Y, W, H)) {
|
||||
if (start_image(img, XP, YP, WP, HP, cx, cy, X, Y, W, H)) {
|
||||
return;
|
||||
}
|
||||
if (!*Fl_Graphics_Driver::id(img)) *Fl_Graphics_Driver::id(img) = (fl_uintptr_t)build_id(img, (void**)(Fl_Graphics_Driver::mask(img)));
|
||||
|
||||
@ -155,7 +155,7 @@ void Fl_Quartz_Graphics_Driver::draw(Fl_RGB_Image *img, int XP, int YP, int WP,
|
||||
Fl_Graphics_Driver::draw_empty(img, XP, YP);
|
||||
return;
|
||||
}
|
||||
if (start_image(XP, YP, WP, HP, img->w(), img->h(), cx, cy, X, Y, W, H)) {
|
||||
if (start_image(img, XP, YP, WP, HP, cx, cy, X, Y, W, H)) {
|
||||
return;
|
||||
}
|
||||
if (!*Fl_Graphics_Driver::id(img)) {
|
||||
|
||||
@ -710,7 +710,7 @@ void Fl_Xlib_Graphics_Driver::draw(Fl_RGB_Image *img, int XP, int YP, int WP, in
|
||||
Fl_Graphics_Driver::draw_empty(img, XP, YP);
|
||||
return;
|
||||
}
|
||||
if (start_image(XP, YP, WP, HP, img->w(), img->h(), cx, cy, X, Y, W, H)) {
|
||||
if (start_image(img, XP, YP, WP, HP, cx, cy, X, Y, W, H)) {
|
||||
return;
|
||||
}
|
||||
if (!*Fl_Graphics_Driver::id(img)) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user