From b972e9663224c49430bd74414b7c0e2cd4377e29 Mon Sep 17 00:00:00 2001 From: marc Date: Thu, 17 Jul 2008 22:48:45 +0000 Subject: [PATCH] * changed QueryDescription out param into var since it is allowed to update the description too (in that case it should be var). git-svn-id: trunk@15810 - --- lcl/include/intfbaselcl.inc | 2 +- lcl/include/lclintf.inc | 2 +- lcl/include/lclintfh.inc | 2 +- lcl/interfaces/carbon/carbonlclintf.inc | 2 +- lcl/interfaces/carbon/carbonlclintfh.inc | 2 +- lcl/interfaces/fpgui/fpguilclintf.inc | 2 +- lcl/interfaces/fpgui/fpguilclintfh.inc | 2 +- lcl/interfaces/gtk/gtklclintf.inc | 2 +- lcl/interfaces/gtk/gtklclintfh.inc | 2 +- lcl/interfaces/gtk2/gtk2lclintf.inc | 2 +- lcl/interfaces/gtk2/gtk2lclintfh.inc | 2 +- lcl/interfaces/qt/qtlclintf.inc | 2 +- lcl/interfaces/qt/qtlclintfh.inc | 2 +- lcl/interfaces/win32/win32lclintf.inc | 2 +- lcl/interfaces/win32/win32lclintfh.inc | 2 +- lcl/interfaces/wince/wincelclintf.inc | 2 +- lcl/interfaces/wince/wincelclintfh.inc | 2 +- lcl/intfgraphics.pas | 14 +++++++++----- 18 files changed, 26 insertions(+), 22 deletions(-) diff --git a/lcl/include/intfbaselcl.inc b/lcl/include/intfbaselcl.inc index 368673daa1..1360a6ba5e 100644 --- a/lcl/include/intfbaselcl.inc +++ b/lcl/include/intfbaselcl.inc @@ -240,7 +240,7 @@ begin Result := False; end; -function TWidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; +function TWidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; var Desc: TRawImageDescription; begin diff --git a/lcl/include/lclintf.inc b/lcl/include/lclintf.inc index 28bf89f69c..cf4567368a 100644 --- a/lcl/include/lclintf.inc +++ b/lcl/include/lclintf.inc @@ -190,7 +190,7 @@ begin Result := WidgetSet.RawImage_FromDevice(ARawImage, ADC, ARect); end; -function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; +function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; begin Result := WidgetSet.RawImage_QueryDescription(AFlags, ADesc); end; diff --git a/lcl/include/lclintfh.inc b/lcl/include/lclintfh.inc index 0cd0d0aceb..acbfc91e14 100644 --- a/lcl/include/lclintfh.inc +++ b/lcl/include/lclintfh.inc @@ -118,7 +118,7 @@ function RawImage_DescriptionFromBitmap(ABitmap: HBITMAP; out ADesc: TRawImageDe function RawImage_DescriptionFromDevice(ADC: HDC; out ADesc: TRawImageDescription): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function RawImage_FromBitmap(out ARawImage: TRawImage; ABitmap, AMask: HBITMAP; ARect: PRect = nil): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function RawImage_FromDevice(out ARawImage: TRawImage; ADC: HDC; const ARect: TRect): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} -function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} +function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function RegroupMenuItem(hndMenu: HMENU; GroupIndex: integer): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function ReleaseDesignerDC(hWnd: HWND; DC: HDC): Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} procedure RemoveEventHandler(var AHandler: PEventHandler); {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} diff --git a/lcl/interfaces/carbon/carbonlclintf.inc b/lcl/interfaces/carbon/carbonlclintf.inc index 099108f1a1..3cbd7f63ca 100644 --- a/lcl/interfaces/carbon/carbonlclintf.inc +++ b/lcl/interfaces/carbon/carbonlclintf.inc @@ -614,7 +614,7 @@ end; Returns: ------------------------------------------------------------------------------} -//function TCarbonWidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; +//function TCarbonWidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; //begin // // override only when queried formats are different from screen description //end; diff --git a/lcl/interfaces/carbon/carbonlclintfh.inc b/lcl/interfaces/carbon/carbonlclintfh.inc index 289068e490..ed9640b392 100644 --- a/lcl/interfaces/carbon/carbonlclintfh.inc +++ b/lcl/interfaces/carbon/carbonlclintfh.inc @@ -59,7 +59,7 @@ function RawImage_DescriptionFromDevice(ADC: HDC; out ADesc: TRawImageDescriptio function RawImage_FromBitmap(out ARawImage: TRawImage; ABitmap, AMask: HBITMAP; ARect: PRect = nil): Boolean; override; function RawImage_FromDevice(out ARawImage: TRawImage; ADC: HDC; const ARect: TRect): Boolean; override; // override only when queried formats are different from screen description -//function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; override; +//function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; override; function ReleaseDesignerDC(Window: HWND; DC: HDC): Integer; override; diff --git a/lcl/interfaces/fpgui/fpguilclintf.inc b/lcl/interfaces/fpgui/fpguilclintf.inc index 5913b1b2af..29c815aece 100644 --- a/lcl/interfaces/fpgui/fpguilclintf.inc +++ b/lcl/interfaces/fpgui/fpguilclintf.inc @@ -48,7 +48,7 @@ end; Returns: ------------------------------------------------------------------------------} -//function TFpguiWidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; +//function TFpguiWidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; //begin // // override only when queried formats are different from screen description //end; diff --git a/lcl/interfaces/fpgui/fpguilclintfh.inc b/lcl/interfaces/fpgui/fpguilclintfh.inc index ae594a3fe3..da503e31ce 100644 --- a/lcl/interfaces/fpgui/fpguilclintfh.inc +++ b/lcl/interfaces/fpgui/fpguilclintfh.inc @@ -60,7 +60,7 @@ function RawImage_FromBitmap(out ARawImage: TRawImage; ABitmap, AMask: HBITMAP; // override only when queried formats are different from screen description //function RawImage_FromDevice(out ARawImage: TRawImage; ADC: HDC; const ARect: TRect): Boolean; override; -function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; override; +function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; override; procedure RemoveEventHandler(var AHandler: PEventHandler); override; procedure RemovePipeEventHandler(var AHandler: PPipeEventHandler); override; procedure RemoveProcessEventHandler(var AHandler: PProcessEventHandler); override;} diff --git a/lcl/interfaces/gtk/gtklclintf.inc b/lcl/interfaces/gtk/gtklclintf.inc index 5cd6023cf6..087141ff58 100644 --- a/lcl/interfaces/gtk/gtklclintf.inc +++ b/lcl/interfaces/gtk/gtklclintf.inc @@ -508,7 +508,7 @@ end; Returns: ------------------------------------------------------------------------------} -function TGtkWidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; +function TGtkWidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; var Desc: TRawImageDescription; begin diff --git a/lcl/interfaces/gtk/gtklclintfh.inc b/lcl/interfaces/gtk/gtklclintfh.inc index 604f3acaf0..653341ff69 100644 --- a/lcl/interfaces/gtk/gtklclintfh.inc +++ b/lcl/interfaces/gtk/gtklclintfh.inc @@ -57,7 +57,7 @@ function RawImage_DescriptionFromBitmap(ABitmap: HBITMAP; out ADesc: TRawImageDe function RawImage_DescriptionFromDevice(ADC: HDC; out ADesc: TRawImageDescription): Boolean; override; function RawImage_FromBitmap(out ARawImage: TRawImage; ABitmap, AMask: HBITMAP; ARect: PRect = nil): Boolean; override; function RawImage_FromDevice(out ARawImage: TRawImage; ADC: HDC; const ARect: TRect): Boolean; override; -function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; override; +function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; override; procedure RemoveEventHandler(var AHandler: PEventHandler); override; procedure RemovePipeEventHandler(var AHandler: PPipeEventHandler); override; diff --git a/lcl/interfaces/gtk2/gtk2lclintf.inc b/lcl/interfaces/gtk2/gtk2lclintf.inc index 284266eccd..2e44605e8e 100644 --- a/lcl/interfaces/gtk2/gtk2lclintf.inc +++ b/lcl/interfaces/gtk2/gtk2lclintf.inc @@ -72,7 +72,7 @@ end; Returns: ------------------------------------------------------------------------------} -//function TGtk2WidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; +//function TGtk2WidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; //begin // // override only when queried formats are different from screen description //end; diff --git a/lcl/interfaces/gtk2/gtk2lclintfh.inc b/lcl/interfaces/gtk2/gtk2lclintfh.inc index a468c11e26..a4ef630a84 100644 --- a/lcl/interfaces/gtk2/gtk2lclintfh.inc +++ b/lcl/interfaces/gtk2/gtk2lclintfh.inc @@ -33,7 +33,7 @@ procedure DrawGrid(DC: HDC; const R: TRect; DX, DY: Integer); override; function ExtUTF8Out(DC: HDC; X, Y: Integer; Options: Longint; Rect: PRect; Str: PChar; Count: Longint; Dx: PInteger): Boolean; override; // override only when queried formats are different from screen description -//function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; override; +//function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; override; function TextUTF8Out(DC: HDC; X, Y: Integer; Str: PChar; Count: Longint): Boolean; override; function ComboBoxDropDown(Handle: HWND; DropDown: boolean): boolean; override; function SetComboMinDropDownSize(Handle: HWND; MinItemsWidth, MinItemsHeight, MinItemCount: integer): boolean; override; diff --git a/lcl/interfaces/qt/qtlclintf.inc b/lcl/interfaces/qt/qtlclintf.inc index 2b085a56ac..4dfc45c6bd 100644 --- a/lcl/interfaces/qt/qtlclintf.inc +++ b/lcl/interfaces/qt/qtlclintf.inc @@ -583,7 +583,7 @@ end; Returns: ------------------------------------------------------------------------------} -function TQtWidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; +function TQtWidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; begin Result := inherited RawImage_QueryDescription(AFlags, ADesc); if ADesc.BitsPerPixel > 8 then diff --git a/lcl/interfaces/qt/qtlclintfh.inc b/lcl/interfaces/qt/qtlclintfh.inc index b0f09029d1..282b9cebc7 100644 --- a/lcl/interfaces/qt/qtlclintfh.inc +++ b/lcl/interfaces/qt/qtlclintfh.inc @@ -65,7 +65,7 @@ function RawImage_DescriptionFromDevice(ADC: HDC; out ADesc: TRawImageDescriptio function RawImage_FromBitmap(out ARawImage: TRawImage; ABitmap, AMask: HBITMAP; ARect: PRect = nil): Boolean; override; function RawImage_FromDevice(out ARawImage: TRawImage; ADC: HDC; const ARect: TRect): Boolean; override; -function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; override; +function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; override; function ReleaseDesignerDC(Window: HWND; DC: HDC): Integer; override; procedure RemoveEventHandler(var AHandler: PEventHandler); override; diff --git a/lcl/interfaces/win32/win32lclintf.inc b/lcl/interfaces/win32/win32lclintf.inc index b3776cd1fb..66f84c411d 100644 --- a/lcl/interfaces/win32/win32lclintf.inc +++ b/lcl/interfaces/win32/win32lclintf.inc @@ -130,7 +130,7 @@ end; Returns: ------------------------------------------------------------------------------} -function TWin32WidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; +function TWin32WidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; begin if riqfAlpha in AFlags then begin diff --git a/lcl/interfaces/win32/win32lclintfh.inc b/lcl/interfaces/win32/win32lclintfh.inc index f44d275c3a..271aa15772 100644 --- a/lcl/interfaces/win32/win32lclintfh.inc +++ b/lcl/interfaces/win32/win32lclintfh.inc @@ -60,7 +60,7 @@ function RawImage_DescriptionFromBitmap(ABitmap: HBITMAP; out ADesc: TRawImageDe function RawImage_DescriptionFromDevice(ADC: HDC; out ADesc: TRawImageDescription): Boolean; override; function RawImage_FromBitmap(out ARawImage: TRawImage; ABitmap, AMask: HBITMAP; ARect: PRect = nil): Boolean; override; function RawImage_FromDevice(out ARawImage: TRawImage; ADC: HDC; const ARect: TRect): Boolean; override; -function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; override; +function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; override; procedure RemoveEventHandler(var AHandler: PEventHandler); override; procedure RemovePipeEventHandler(var AHandler: PPipeEventHandler); override; diff --git a/lcl/interfaces/wince/wincelclintf.inc b/lcl/interfaces/wince/wincelclintf.inc index ecde6ab889..5723b4dcb8 100644 --- a/lcl/interfaces/wince/wincelclintf.inc +++ b/lcl/interfaces/wince/wincelclintf.inc @@ -310,7 +310,7 @@ end; Returns: ------------------------------------------------------------------------------} -//function TWinceWidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; +//function TWinceWidgetSet.RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; //begin // // override only when queried formats are different from screen description //end; diff --git a/lcl/interfaces/wince/wincelclintfh.inc b/lcl/interfaces/wince/wincelclintfh.inc index b4bb48df5f..717a6496a4 100644 --- a/lcl/interfaces/wince/wincelclintfh.inc +++ b/lcl/interfaces/wince/wincelclintfh.inc @@ -49,7 +49,7 @@ function RawImage_DescriptionFromDevice(ADC: HDC; out ADesc: TRawImageDescriptio function RawImage_FromBitmap(out ARawImage: TRawImage; ABitmap, AMask: HBITMAP; ARect: PRect = nil): Boolean; override; function RawImage_FromDevice(out ARawImage: TRawImage; ADC: HDC; const ARect: TRect): Boolean; override; // override only when queried formats are different from screen description -//function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; out ADesc: TRawImageDescription): Boolean; override; +//function RawImage_QueryDescription(AFlags: TRawImageQueryFlags; var ADesc: TRawImageDescription): Boolean; override; procedure RemoveEventHandler(var AHandler: PEventHandler); override; procedure RemovePipeEventHandler(var AHandler: PPipeEventHandler); override; diff --git a/lcl/intfgraphics.pas b/lcl/intfgraphics.pas index ed3d58ce4d..e1a9578a7a 100644 --- a/lcl/intfgraphics.pas +++ b/lcl/intfgraphics.pas @@ -663,11 +663,15 @@ end; procedure QueryDescription(var ADesc: TRawImageDescription; AFlags: TRawImageQueryFlags; AWidth: Integer = -1; AHeight: integer = -1); begin - if not (riqfUpdate in AFlags) then ADesc.Init; - - if not RawImage_QueryDescription(AFlags, ADesc) then Exit; - if AWidth <> -1 then ADesc.Width := AWidth; - if AHeight <> -1 then ADesc.Height := AHeight; + if RawImage_QueryDescription(AFlags, ADesc) + then begin + if AWidth <> -1 then ADesc.Width := AWidth; + if AHeight <> -1 then ADesc.Height := AHeight; + end + else begin + if not (riqfUpdate in AFlags) then ADesc.Init; + end; + end; function GetDescriptionFromDevice(ADC: HDC; AWidth, AHeight: integer): TRawImageDescription;