fixes compilation and prepares gtkroutines for gtk post 0.9.24

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@287 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
jesusr
2007-11-23 07:43:29 +00:00
parent e76bd25f1c
commit b24f96de7b
2 changed files with 20 additions and 4 deletions

View File

@ -54,13 +54,21 @@ procedure WidgetSetDrawRGB32Bitmap(Dest: HDC; DstX, DstY: Integer; SrcX, SrcY, S
var
P: TPoint;
begin
P := GetDCOffset(TDeviceContext(Dest));
{$IFDEF GTK_POST_0924}
P := TGtkDeviceContext(Dest).Offset;
Inc(DstX, P.X);
Inc(DstY, P.Y);
gdk_draw_rgb_32_image(TGtkDeviceContext(Dest).Drawable, TGtkDeviceContext(Dest).GC,
DstX, DstY, SrcWidth, SrcHeight, GDK_RGB_DITHER_NONE,
Pguchar(Bitmap.GetPixelPtrUnsafe(SrcX, SrcY)), Bitmap.RowPixelStride shl 2);
{$ELSE}
P := GetDCOffset(TGtkDeviceContext(Dest));
Inc(DstX, P.X);
Inc(DstY, P.Y);
gdk_draw_rgb_32_image(TDeviceContext(Dest).Drawable, TDeviceContext(Dest).GC,
DstX, DstY, SrcWidth, SrcHeight, GDK_RGB_DITHER_NONE,
Pguchar(Bitmap.GetPixelPtrUnsafe(SrcX, SrcY)), Bitmap.RowPixelStride shl 2);
{$ENDIF}
end;
procedure WidgetSetDrawRGB8Bitmap(Dest: HDC; DstX, DstY: Integer; SrcX, SrcY,
@ -68,13 +76,21 @@ procedure WidgetSetDrawRGB8Bitmap(Dest: HDC; DstX, DstY: Integer; SrcX, SrcY,
var
P: TPoint;
begin
{$IFDEF GTK_POST_0924}
P := TGtkDeviceContext(Dest).Offset;
Inc(DstX, P.X);
Inc(DstY, P.Y);
gdk_draw_gray_image(TGtkDeviceContext(Dest).Drawable, TGtkDeviceContext(Dest).GC,
DstX, DstY, SrcWidth, SrcHeight, GDK_RGB_DITHER_NONE,
Pguchar(Bitmap.Get8PixelPtrUnsafe(SrcX, SrcY)), Bitmap.RowPixelStride);
{$ELSE}
P := GetDCOffset(TDeviceContext(Dest));
Inc(DstX, P.X);
Inc(DstY, P.Y);
gdk_draw_gray_image(TDeviceContext(Dest).Drawable, TDeviceContext(Dest).GC,
DstX, DstY, SrcWidth, SrcHeight, GDK_RGB_DITHER_NONE,
Pguchar(Bitmap.Get8PixelPtrUnsafe(SrcX, SrcY)), Bitmap.RowPixelStride);
{$ENDIF}
end;
initialization

View File

@ -558,7 +558,7 @@ begin
SwapInt(FWidth, ABitmap.FWidth);
SwapInt(FHeight, ABitmap.FHeight);
SwapInt(FRowPixelStride, ABitmap.FRowPixelStride);
SwapInt(FSizeOfPixel, ABitmap.SizeOfPixel);
SwapInt(FSizeOfPixel, ABitmap.FSizeOfPixel);
end;
function TRGBBitmapCore.GetPixelPtrUnsafe(X, Y: Integer): PRGBPixel;