diff options
| author | Manolo Gouy <Manolo> | 2018-04-20 08:46:49 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2018-04-20 08:46:49 +0000 |
| commit | de762fca2b44e77b6b21bc07d9d24d0b4c30f04d (patch) | |
| tree | dc5c635678f58ef586b4f25b58482883ec74661a /src/drivers | |
| parent | bd9a57be29d15f72cd561d99b0a90317361dfe88 (diff) | |
Fix direct use of fl_draw_pixmap() whithout Fl_Pixmap object.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12862 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers')
| -rw-r--r-- | src/drivers/Android/Fl_Android_Graphics_Driver.cxx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/drivers/Android/Fl_Android_Graphics_Driver.cxx b/src/drivers/Android/Fl_Android_Graphics_Driver.cxx index e8e80a6c8..ceed4e5d3 100644 --- a/src/drivers/Android/Fl_Android_Graphics_Driver.cxx +++ b/src/drivers/Android/Fl_Android_Graphics_Driver.cxx @@ -1118,13 +1118,14 @@ void Fl_Android_Graphics_Driver::draw_fixed(Fl_RGB_Image *img, int X, int Y, int void Fl_Android_Graphics_Driver::draw_image(const uchar* buf, int X,int Y,int W,int H, int D, int L) { int srcDelta = abs(D); - int srcStride = W*srcDelta+L; + int srcStride = L ? L : W*srcDelta; + void *see = pBits; for (const auto &it: pClippingRegion.overlapping(Fl_Rect_Region(X, Y, W, H))) { Fl_Rect_Region *r = &it->clipped_rect(); int rBottom = r->bottom(); int rRight = r->right(); for (int iy=r->top(); iy<rBottom;iy++) { - const uchar *src = buf + iy*srcStride; + const uchar *src = buf + (iy-Y)*srcStride + (r->left()-X)*srcDelta; uint16_t *dst = pBits + iy*pStride + r->left(); for (int ix=r->left();ix<rRight;ix++) { uint16_t c = make565(src[0], src[1], src[2]); |
