- added implementation for Qt

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@481 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
tomb0
2008-06-13 10:53:58 +00:00
parent afb07f9425
commit cd26fb9591
9 changed files with 223 additions and 138 deletions

View File

@ -2,12 +2,12 @@
<CONFIG> <CONFIG>
<ProjectOptions> <ProjectOptions>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<Version Value="5"/> <Version Value="6"/>
<General> <General>
<MainUnit Value="0"/> <MainUnit Value="0"/>
<IconPath Value=".\"/> <IconPath Value=".\"/>
<TargetFileExt Value=".exe"/> <TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="4"/> <ActiveEditorIndexAtStart Value="0"/>
</General> </General>
<VersionInfo> <VersionInfo>
<ProjectVersion Value=""/> <ProjectVersion Value=""/>
@ -33,14 +33,14 @@
<PackageName Value="LCL"/> <PackageName Value="LCL"/>
</Item2> </Item2>
</RequiredPackages> </RequiredPackages>
<Units Count="35"> <Units Count="40">
<Unit0> <Unit0>
<Filename Value="rgbexample.lpr"/> <Filename Value="rgbexample.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="RGBExample"/> <UnitName Value="RGBExample"/>
<CursorPos X="28" Y="6"/> <CursorPos X="1" Y="17"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="31"/> <UsageCount Value="33"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="rgbunit.pas"/> <Filename Value="rgbunit.pas"/>
@ -48,17 +48,17 @@
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ResourceFilename Value="rgbunit.lrs"/> <ResourceFilename Value="rgbunit.lrs"/>
<UnitName Value="RGBUnit"/> <UnitName Value="RGBUnit"/>
<CursorPos X="32" Y="38"/> <CursorPos X="34" Y="29"/>
<TopLine Value="65"/> <TopLine Value="65"/>
<EditorIndex Value="0"/> <EditorIndex Value="0"/>
<UsageCount Value="31"/> <UsageCount Value="33"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit1> </Unit1>
<Unit2> <Unit2>
<Filename Value="..\rgbgraphics.pas"/> <Filename Value="..\rgbgraphics.pas"/>
<UnitName Value="RGBGraphics"/> <UnitName Value="RGBGraphics"/>
<CursorPos X="19" Y="85"/> <CursorPos X="58" Y="872"/>
<TopLine Value="72"/> <TopLine Value="19"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit2> </Unit2>
<Unit3> <Unit3>
@ -70,22 +70,22 @@
<Unit4> <Unit4>
<Filename Value="..\rgbroutines.pas"/> <Filename Value="..\rgbroutines.pas"/>
<UnitName Value="RGBRoutines"/> <UnitName Value="RGBRoutines"/>
<CursorPos X="15" Y="52"/> <CursorPos X="13" Y="61"/>
<TopLine Value="47"/> <TopLine Value="6"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
</Unit4> </Unit4>
<Unit5> <Unit5>
<Filename Value="..\rgbutils.pas"/> <Filename Value="..\rgbutils.pas"/>
<UnitName Value="RGBUtils"/> <UnitName Value="RGBUtils"/>
<CursorPos X="29" Y="53"/> <CursorPos X="1" Y="1"/>
<TopLine Value="35"/> <TopLine Value="43"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit5> </Unit5>
<Unit6> <Unit6>
<Filename Value="..\rgbtypes.pas"/> <Filename Value="..\rgbtypes.pas"/>
<UnitName Value="RGBTypes"/> <UnitName Value="RGBTypes"/>
<CursorPos X="3" Y="500"/> <CursorPos X="3" Y="69"/>
<TopLine Value="498"/> <TopLine Value="74"/>
<UsageCount Value="11"/> <UsageCount Value="11"/>
</Unit6> </Unit6>
<Unit7> <Unit7>
@ -96,51 +96,51 @@
<UsageCount Value="11"/> <UsageCount Value="11"/>
</Unit7> </Unit7>
<Unit8> <Unit8>
<Filename Value="..\rgbwinroutines.pas"/> <Filename Value="..\rgbqtroutines.pas"/>
<UnitName Value="RGBWinRoutines"/> <UnitName Value="RGBQtRoutines"/>
<CursorPos X="1" Y="1"/> <CursorPos X="85" Y="84"/>
<TopLine Value="16"/> <TopLine Value="72"/>
<UsageCount Value="11"/> <UsageCount Value="11"/>
</Unit8> </Unit8>
<Unit9> <Unit9>
<Filename Value="..\rgbgtkroutines.pas"/> <Filename Value="..\rgbgtkroutines.pas"/>
<UnitName Value="RGBGTKRoutines"/> <UnitName Value="RGBGTKRoutines"/>
<CursorPos X="15" Y="38"/> <CursorPos X="6" Y="69"/>
<TopLine Value="16"/> <TopLine Value="57"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit9> </Unit9>
<Unit10> <Unit10>
<Filename Value="..\..\..\lazarus\lcl\include\canvas.inc"/> <Filename Value="..\..\lazarus\lcl\include\canvas.inc"/>
<CursorPos X="1" Y="1460"/> <CursorPos X="1" Y="1460"/>
<TopLine Value="1446"/> <TopLine Value="1446"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit10> </Unit10>
<Unit11> <Unit11>
<Filename Value="..\..\..\lazarus\lcl\include\customcontrol.inc"/> <Filename Value="..\..\lazarus\lcl\include\customcontrol.inc"/>
<CursorPos X="1" Y="81"/> <CursorPos X="1" Y="81"/>
<TopLine Value="67"/> <TopLine Value="67"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit11> </Unit11>
<Unit12> <Unit12>
<Filename Value="..\..\..\lazarus\lcl\include\customform.inc"/> <Filename Value="..\..\lazarus\lcl\include\customform.inc"/>
<CursorPos X="1" Y="804"/> <CursorPos X="1" Y="804"/>
<TopLine Value="790"/> <TopLine Value="790"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit12> </Unit12>
<Unit13> <Unit13>
<Filename Value="..\..\..\lazarus\lcl\include\wincontrol.inc"/> <Filename Value="..\..\lazarus\lcl\include\wincontrol.inc"/>
<CursorPos X="1" Y="3062"/> <CursorPos X="1" Y="3062"/>
<TopLine Value="3048"/> <TopLine Value="3048"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit13> </Unit13>
<Unit14> <Unit14>
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk\gtkproc.inc"/> <Filename Value="..\..\lazarus\lcl\interfaces\gtk\gtkproc.inc"/>
<CursorPos X="1" Y="3645"/> <CursorPos X="1" Y="3645"/>
<TopLine Value="3631"/> <TopLine Value="3631"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit14> </Unit14>
<Unit15> <Unit15>
<Filename Value="..\..\..\lazarus\lcl\interfaces\win32\interfaces.pp"/> <Filename Value="..\..\lazarus\lcl\interfaces\win32\interfaces.pp"/>
<UnitName Value="Interfaces"/> <UnitName Value="Interfaces"/>
<CursorPos X="1" Y="1"/> <CursorPos X="1" Y="1"/>
<TopLine Value="17"/> <TopLine Value="17"/>
@ -154,179 +154,174 @@
<UsageCount Value="11"/> <UsageCount Value="11"/>
</Unit16> </Unit16>
<Unit17> <Unit17>
<Filename Value="\usr\local\share\fpcsrc\packages\extra\gtk2\gtk+\gtk\gtk2.pas"/> <Filename Value="usr\local\share\fpcsrc\packages\extra\gtk2\gtk+\gtk\gtk2.pas"/>
<UnitName Value="gtk2"/> <UnitName Value="gtk2"/>
<CursorPos X="1" Y="1"/> <CursorPos X="1" Y="1"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit17> </Unit17>
<Unit18> <Unit18>
<Filename Value="..\..\..\..\lazarus\lcl\interfaces\carbon\interfaces.pas"/> <Filename Value="..\..\lazarus\lcl\interfaces\carbon\interfaces.pas"/>
<UnitName Value="Interfaces"/> <UnitName Value="Interfaces"/>
<CursorPos X="52" Y="11"/> <CursorPos X="52" Y="11"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit18> </Unit18>
<Unit19> <Unit19>
<Filename Value="..\..\..\..\lazarus\lcl\extdlgs.pas"/> <Filename Value="..\..\lazarus\lcl\extdlgs.pas"/>
<UnitName Value="ExtDlgs"/> <UnitName Value="ExtDlgs"/>
<CursorPos X="30" Y="55"/> <CursorPos X="30" Y="55"/>
<TopLine Value="41"/> <TopLine Value="41"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit19> </Unit19>
<Unit20> <Unit20>
<Filename Value="..\..\..\..\lazarus\lcl\interfaces\carbon\carboncanvas.pp"/> <Filename Value="..\..\lazarus\lcl\interfaces\carbon\carboncanvas.pp"/>
<UnitName Value="CarbonCanvas"/> <UnitName Value="CarbonCanvas"/>
<CursorPos X="1" Y="708"/> <CursorPos X="1" Y="708"/>
<TopLine Value="694"/> <TopLine Value="694"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit20> </Unit20>
<Unit21> <Unit21>
<Filename Value="..\..\..\..\lazarus\lcl\interfaces\carbon\carbonint.pas"/> <Filename Value="..\..\lazarus\lcl\interfaces\carbon\carbonint.pas"/>
<UnitName Value="CarbonInt"/> <UnitName Value="CarbonInt"/>
<CursorPos X="20" Y="114"/> <CursorPos X="20" Y="114"/>
<TopLine Value="152"/> <TopLine Value="152"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit21> </Unit21>
<Unit22> <Unit22>
<Filename Value="..\..\..\..\lazarus\lcl\interfaces\carbon\carbonmenus.pp"/> <Filename Value="..\..\lazarus\lcl\interfaces\carbon\carbonmenus.pp"/>
<UnitName Value="CarbonMenus"/> <UnitName Value="CarbonMenus"/>
<CursorPos X="52" Y="351"/> <CursorPos X="52" Y="351"/>
<TopLine Value="324"/> <TopLine Value="324"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit22> </Unit22>
<Unit23> <Unit23>
<Filename Value="..\..\..\..\lazarus\lcl\interfaces\carbon\carbonlclintf.inc"/> <Filename Value="..\..\lazarus\lcl\interfaces\carbon\carbonlclintf.inc"/>
<CursorPos X="67" Y="499"/> <CursorPos X="67" Y="499"/>
<TopLine Value="484"/> <TopLine Value="484"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit23> </Unit23>
<Unit24> <Unit24>
<Filename Value="..\..\..\..\lazarus\lcl\interfaces\carbon\carbonprivate.pp"/> <Filename Value="..\..\lazarus\lcl\interfaces\carbon\carbonprivate.pp"/>
<UnitName Value="CarbonPrivate"/> <UnitName Value="CarbonPrivate"/>
<CursorPos X="17" Y="322"/> <CursorPos X="17" Y="322"/>
<TopLine Value="312"/> <TopLine Value="312"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit24> </Unit24>
<Unit25> <Unit25>
<Filename Value="..\..\..\..\lazarus\lcl\interfaces\carbon\carbonprivatewindow.inc"/> <Filename Value="..\..\lazarus\lcl\interfaces\carbon\carbonprivatewindow.inc"/>
<CursorPos X="9" Y="748"/> <CursorPos X="9" Y="748"/>
<TopLine Value="744"/> <TopLine Value="744"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit25> </Unit25>
<Unit26> <Unit26>
<Filename Value="..\..\..\..\lazarus\lcl\interfaces\carbon\carbongdiobjects.pp"/> <Filename Value="..\..\lazarus\lcl\interfaces\carbon\carbongdiobjects.pp"/>
<UnitName Value="CarbonGDIObjects"/> <UnitName Value="CarbonGDIObjects"/>
<CursorPos X="24" Y="163"/> <CursorPos X="24" Y="163"/>
<TopLine Value="161"/> <TopLine Value="161"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit26> </Unit26>
<Unit27> <Unit27>
<Filename Value="..\..\..\..\lazarus\lcl\interfaces\carbon\carbonwinapi.inc"/> <Filename Value="..\..\lazarus\lcl\interfaces\carbon\carbonwinapi.inc"/>
<CursorPos X="24" Y="181"/> <CursorPos X="24" Y="181"/>
<TopLine Value="184"/> <TopLine Value="184"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit27> </Unit27>
<Unit28> <Unit28>
<Filename Value="..\..\..\lazarus\lcl\lclintf.pas"/> <Filename Value="..\..\lazarus\lcl\lclintf.pas"/>
<UnitName Value="LCLIntf"/> <UnitName Value="LCLIntf"/>
<CursorPos X="35" Y="38"/> <CursorPos X="35" Y="38"/>
<TopLine Value="24"/> <TopLine Value="24"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit28> </Unit28>
<Unit29> <Unit29>
<Filename Value="..\..\..\lazarus\lcl\interfaces\win32\win32int.pp"/> <Filename Value="..\..\lazarus\lcl\interfaces\win32\win32int.pp"/>
<UnitName Value="Win32Int"/> <UnitName Value="Win32Int"/>
<CursorPos X="22" Y="188"/> <CursorPos X="51" Y="11"/>
<TopLine Value="182"/> <TopLine Value="13"/>
<EditorIndex Value="1"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit29> </Unit29>
<Unit30> <Unit30>
<Filename Value="..\..\..\lazarus\lcl\interfaces\win32\win32object.inc"/> <Filename Value="..\..\lazarus\lcl\interfaces\win32\win32object.inc"/>
<CursorPos X="16" Y="422"/> <CursorPos X="16" Y="422"/>
<TopLine Value="420"/> <TopLine Value="420"/>
<EditorIndex Value="2"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit30> </Unit30>
<Unit31> <Unit31>
<Filename Value="..\..\..\lazarus\lcl\interfacebase.pp"/> <Filename Value="..\..\lazarus\lcl\interfacebase.pp"/>
<UnitName Value="InterfaceBase"/> <UnitName Value="InterfaceBase"/>
<CursorPos X="5" Y="62"/> <CursorPos X="5" Y="62"/>
<TopLine Value="48"/> <TopLine Value="48"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit31> </Unit31>
<Unit32> <Unit32>
<Filename Value="..\..\..\lazarus\lcl\interfaces\carbon\carbonobject.inc"/> <Filename Value="..\..\lazarus\lcl\interfaces\carbon\carbonobject.inc"/>
<CursorPos X="17" Y="873"/> <CursorPos X="17" Y="873"/>
<TopLine Value="869"/> <TopLine Value="869"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit32> </Unit32>
<Unit33> <Unit33>
<Filename Value="..\..\..\lazarus\ide\compileroptionsdlg.pp"/> <Filename Value="..\..\lazarus\ide\compileroptionsdlg.pp"/>
<ComponentName Value="frmCompilerOptions"/>
<HasResources Value="True"/>
<UnitName Value="CompilerOptionsDlg"/> <UnitName Value="CompilerOptionsDlg"/>
<CursorPos X="31" Y="2452"/> <CursorPos X="31" Y="1735"/>
<TopLine Value="2436"/> <TopLine Value="1710"/>
<EditorIndex Value="3"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit33> </Unit33>
<Unit34> <Unit34>
<Filename Value="..\..\..\lazarus\ide\lazconf.pp"/> <Filename Value="..\..\lazarus\ide\lazconf.pp"/>
<UnitName Value="LazConf"/> <UnitName Value="LazConf"/>
<CursorPos X="38" Y="62"/> <CursorPos X="102" Y="49"/>
<TopLine Value="44"/> <TopLine Value="44"/>
<EditorIndex Value="4"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit34> </Unit34>
<Unit35>
<Filename Value="..\..\lazarus\lcl\interfaces\qt\qt4.pas"/>
<UnitName Value="qt4"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1883"/>
<UsageCount Value="10"/>
</Unit35>
<Unit36>
<Filename Value="..\..\lazarus\lcl\interfaces\qt\qtwinapi.inc"/>
<CursorPos X="17" Y="4594"/>
<TopLine Value="4579"/>
<UsageCount Value="10"/>
</Unit36>
<Unit37>
<Filename Value="..\rgbwinroutines.pas"/>
<UnitName Value="RGBWinRoutines"/>
<CursorPos X="88" Y="81"/>
<TopLine Value="105"/>
<UsageCount Value="10"/>
</Unit37>
<Unit38>
<Filename Value="..\..\lazarus\lcl\interfaces\qt\qtobjects.pas"/>
<UnitName Value="qtobjects"/>
<CursorPos X="17" Y="111"/>
<TopLine Value="104"/>
<UsageCount Value="10"/>
</Unit38>
<Unit39>
<Filename Value="..\..\lazarus\fpc\2.2.1\source\rtl\objpas\types.pp"/>
<UnitName Value="types"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="142"/>
<UsageCount Value="10"/>
</Unit39>
</Units> </Units>
<JumpHistory Count="9" HistoryIndex="8"> <JumpHistory Count="1" HistoryIndex="0">
<Position1> <Position1>
<Filename Value="rgbunit.pas"/> <Filename Value="rgbunit.pas"/>
<Caret Line="22" Column="36" TopLine="124"/> <Caret Line="75" Column="54" TopLine="77"/>
</Position1> </Position1>
<Position2>
<Filename Value="rgbunit.pas"/>
<Caret Line="33" Column="10" TopLine="28"/>
</Position2>
<Position3>
<Filename Value="rgbunit.pas"/>
<Caret Line="33" Column="10" TopLine="28"/>
</Position3>
<Position4>
<Filename Value="..\..\..\lazarus\lcl\interfaces\win32\win32object.inc"/>
<Caret Line="422" Column="16" TopLine="420"/>
</Position4>
<Position5>
<Filename Value="..\..\..\lazarus\ide\compileroptionsdlg.pp"/>
<Caret Line="89" Column="26" TopLine="73"/>
</Position5>
<Position6>
<Filename Value="..\..\..\lazarus\ide\compileroptionsdlg.pp"/>
<Caret Line="546" Column="26" TopLine="529"/>
</Position6>
<Position7>
<Filename Value="..\..\..\lazarus\ide\compileroptionsdlg.pp"/>
<Caret Line="548" Column="26" TopLine="534"/>
</Position7>
<Position8>
<Filename Value="..\..\..\lazarus\ide\compileroptionsdlg.pp"/>
<Caret Line="863" Column="27" TopLine="849"/>
</Position8>
<Position9>
<Filename Value="..\..\..\lazarus\ide\compileroptionsdlg.pp"/>
<Caret Line="2452" Column="31" TopLine="2436"/>
</Position9>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>
<Version Value="5"/> <Version Value="5"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<SearchPaths> <SearchPaths>
<LCLWidgetType Value="win32"/>
<SrcPath Value="$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\"/> <SrcPath Value="$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\"/>
</SearchPaths> </SearchPaths>
<CodeGeneration> <CodeGeneration>

View File

@ -12,11 +12,12 @@ object FormExample: TFormExample
OnCreate = FormCreate OnCreate = FormCreate
OnDestroy = FormDestroy OnDestroy = FormDestroy
OnPaint = FormPaint OnPaint = FormPaint
LCLVersion = '0.9.25'
object ButtonRedLine: TButton object ButtonRedLine: TButton
Left = 6 Left = 6
Height = 26 Height = 31
Top = 8 Top = 8
Width = 89 Width = 96
AutoSize = True AutoSize = True
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = 'Draw red line' Caption = 'Draw red line'
@ -25,7 +26,7 @@ object FormExample: TFormExample
end end
object ButtonRotate90: TButton object ButtonRotate90: TButton
Left = 6 Left = 6
Height = 26 Height = 31
Top = 39 Top = 39
Width = 131 Width = 131
AutoSize = True AutoSize = True
@ -36,9 +37,9 @@ object FormExample: TFormExample
end end
object ButtonInvert: TButton object ButtonInvert: TButton
Left = 6 Left = 6
Height = 26 Height = 31
Top = 72 Top = 72
Width = 83 Width = 92
AutoSize = True AutoSize = True
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = 'Invert colors' Caption = 'Invert colors'
@ -47,9 +48,9 @@ object FormExample: TFormExample
end end
object ButtonReplace: TButton object ButtonReplace: TButton
Left = 6 Left = 6
Height = 26 Height = 31
Top = 106 Top = 106
Width = 136 Width = 137
AutoSize = True AutoSize = True
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = 'Replace red with blue' Caption = 'Replace red with blue'

View File

@ -5,19 +5,19 @@ LazarusResources.Add('TFormExample','FORMDATA',[
+#3#150#0#5'Width'#3#133#2#18'HorzScrollBar.Page'#3#132#2#18'VertScrollBar.Pa' +#3#150#0#5'Width'#3#133#2#18'HorzScrollBar.Page'#3#132#2#18'VertScrollBar.Pa'
+'ge'#3#1#2#13'ActiveControl'#7#13'ButtonRedLine'#7'Caption'#6#22'LazRGBGraph' +'ge'#3#1#2#13'ActiveControl'#7#13'ButtonRedLine'#7'Caption'#6#22'LazRGBGraph'
+'ics Example'#12'ClientHeight'#3#2#2#11'ClientWidth'#3#133#2#8'OnCreate'#7#10 +'ics Example'#12'ClientHeight'#3#2#2#11'ClientWidth'#3#133#2#8'OnCreate'#7#10
+'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#7'OnPaint'#7#9'FormPaint'#0#7'TB' +'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#7'OnPaint'#7#9'FormPaint'#10'LCL'
+'utton'#13'ButtonRedLine'#4'Left'#2#6#6'Height'#2#26#3'Top'#2#8#5'Width'#2'Y' +'Version'#6#6'0.9.25'#0#7'TButton'#13'ButtonRedLine'#4'Left'#2#6#6'Height'#2
+#8'AutoSize'#9#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#13'Draw red li' +#31#3'Top'#2#8#5'Width'#2'`'#8'AutoSize'#9#25'BorderSpacing.InnerBorder'#2#4
+'ne'#7'OnClick'#7#18'ButtonRedLineClick'#8'TabOrder'#2#0#0#0#7'TButton'#14'B' +#7'Caption'#6#13'Draw red line'#7'OnClick'#7#18'ButtonRedLineClick'#8'TabOrd'
+'uttonRotate90'#4'Left'#2#6#6'Height'#2#26#3'Top'#2''''#5'Width'#3#131#0#8'A' +'er'#2#0#0#0#7'TButton'#14'ButtonRotate90'#4'Left'#2#6#6'Height'#2#31#3'Top'
+'utoSize'#9#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#19'Rotate 90 cloc' +#2''''#5'Width'#3#131#0#8'AutoSize'#9#25'BorderSpacing.InnerBorder'#2#4#7'Ca'
+'kwise'#7'OnClick'#7#19'ButtonRotate90Click'#8'TabOrder'#2#1#0#0#7'TButton' +'ption'#6#19'Rotate 90 clockwise'#7'OnClick'#7#19'ButtonRotate90Click'#8'Tab'
+#12'ButtonInvert'#4'Left'#2#6#6'Height'#2#26#3'Top'#2'H'#5'Width'#2'S'#8'Aut' +'Order'#2#1#0#0#7'TButton'#12'ButtonInvert'#4'Left'#2#6#6'Height'#2#31#3'Top'
+'oSize'#9#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#13'Invert colors'#7 +#2'H'#5'Width'#2'\'#8'AutoSize'#9#25'BorderSpacing.InnerBorder'#2#4#7'Captio'
+'OnClick'#7#17'ButtonInvertClick'#8'TabOrder'#2#2#0#0#7'TButton'#13'ButtonRe' +'n'#6#13'Invert colors'#7'OnClick'#7#17'ButtonInvertClick'#8'TabOrder'#2#2#0
+'place'#4'Left'#2#6#6'Height'#2#26#3'Top'#2'j'#5'Width'#3#136#0#8'AutoSize'#9 +#0#7'TButton'#13'ButtonReplace'#4'Left'#2#6#6'Height'#2#31#3'Top'#2'j'#5'Wid'
+#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#21'Replace red with blue'#7 +'th'#3#137#0#8'AutoSize'#9#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#21
+'OnClick'#7#18'ButtonReplaceClick'#8'TabOrder'#2#3#0#0#18'TOpenPictureDialog' +'Replace red with blue'#7'OnClick'#7#18'ButtonReplaceClick'#8'TabOrder'#2#3#0
+#17'OpenPictureDialog'#5'Title'#6#12'Open picture'#4'left'#3#211#0#3'top'#2 +#0#18'TOpenPictureDialog'#17'OpenPictureDialog'#5'Title'#6#12'Open picture'#4
+'Q'#0#0#0 +'left'#3#211#0#3'top'#2'Q'#0#0#0
]); ]);

View File

@ -4,7 +4,6 @@
<PathDelim Value="\"/> <PathDelim Value="\"/>
<Name Value="LazRGBGraphics"/> <Name Value="LazRGBGraphics"/>
<Author Value="Tom Gregorovic (_tom_@centrum.cz)"/> <Author Value="Tom Gregorovic (_tom_@centrum.cz)"/>
<AutoUpdate Value="OnRebuildingAll"/>
<CompilerOptions> <CompilerOptions>
<Version Value="5"/> <Version Value="5"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
@ -29,8 +28,8 @@
"/> "/>
<License Value="Modified LGPL <License Value="Modified LGPL
"/> "/>
<Version Minor="2" Release="1"/> <Version Minor="2" Release="2"/>
<Files Count="7"> <Files Count="8">
<Item1> <Item1>
<Filename Value="rgbgraphics.pas"/> <Filename Value="rgbgraphics.pas"/>
<UnitName Value="RGBGraphics"/> <UnitName Value="RGBGraphics"/>
@ -62,6 +61,11 @@
<AddToUsesPkgSection Value="False"/> <AddToUsesPkgSection Value="False"/>
<UnitName Value="RGBCarbonRoutines"/> <UnitName Value="RGBCarbonRoutines"/>
</Item7> </Item7>
<Item8>
<Filename Value="rgbqtroutines.pas"/>
<AddToUsesPkgSection Value="False"/>
<UnitName Value="RGBQtRoutines"/>
</Item8>
</Files> </Files>
<RequiredPkgs Count="2"> <RequiredPkgs Count="2">
<Item1> <Item1>

View File

@ -1,6 +1,6 @@
{ {
/*************************************************************************** /***************************************************************************
RGBGTKRoutines.pas RGBCarbonRoutines.pas
***************************************************************************/ ***************************************************************************/
@ -19,7 +19,7 @@
Author: Tom Gregorovic (_tom_@centrum.cz) Author: Tom Gregorovic (_tom_@centrum.cz)
Abstract: Abstract:
This unit contains routines for GTK interfaces. This unit contains routines for Carbon interface.
} }
unit RGBCarbonRoutines; unit RGBCarbonRoutines;

View File

@ -54,21 +54,12 @@ procedure WidgetSetDrawRGB32Bitmap(Dest: HDC; DstX, DstY: Integer; SrcX, SrcY, S
var var
P: TPoint; P: TPoint;
begin begin
{$IFDEF GTK_POST_0924}
P := TGtkDeviceContext(Dest).Offset; P := TGtkDeviceContext(Dest).Offset;
Inc(DstX, P.X); Inc(DstX, P.X);
Inc(DstY, P.Y); Inc(DstY, P.Y);
gdk_draw_rgb_32_image(TGtkDeviceContext(Dest).Drawable, TGtkDeviceContext(Dest).GC, gdk_draw_rgb_32_image(TGtkDeviceContext(Dest).Drawable, TGtkDeviceContext(Dest).GC,
DstX, DstY, SrcWidth, SrcHeight, GDK_RGB_DITHER_NONE, DstX, DstY, SrcWidth, SrcHeight, GDK_RGB_DITHER_NONE,
Pguchar(Bitmap.GetPixelPtrUnsafe(SrcX, SrcY)), Bitmap.RowPixelStride shl 2); 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; end;
procedure WidgetSetDrawRGB8Bitmap(Dest: HDC; DstX, DstY: Integer; SrcX, SrcY, procedure WidgetSetDrawRGB8Bitmap(Dest: HDC; DstX, DstY: Integer; SrcX, SrcY,
@ -76,21 +67,12 @@ procedure WidgetSetDrawRGB8Bitmap(Dest: HDC; DstX, DstY: Integer; SrcX, SrcY,
var var
P: TPoint; P: TPoint;
begin begin
{$IFDEF GTK_POST_0924}
P := TGtkDeviceContext(Dest).Offset; P := TGtkDeviceContext(Dest).Offset;
Inc(DstX, P.X); Inc(DstX, P.X);
Inc(DstY, P.Y); Inc(DstY, P.Y);
gdk_draw_gray_image(TGtkDeviceContext(Dest).Drawable, TGtkDeviceContext(Dest).GC, gdk_draw_gray_image(TGtkDeviceContext(Dest).Drawable, TGtkDeviceContext(Dest).GC,
DstX, DstY, SrcWidth, SrcHeight, GDK_RGB_DITHER_NONE, DstX, DstY, SrcWidth, SrcHeight, GDK_RGB_DITHER_NONE,
Pguchar(Bitmap.Get8PixelPtrUnsafe(SrcX, SrcY)), Bitmap.RowPixelStride); 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; end;
initialization initialization

View File

@ -0,0 +1,97 @@
{
/***************************************************************************
RGBQtRoutines.pas
***************************************************************************/
*****************************************************************************
* *
* See the file COPYING.modifiedLGPL, included in this distribution, *
* for details about the copyright. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* *
*****************************************************************************
Author: Tom Gregorovic (_tom_@centrum.cz)
Abstract:
This unit contains routines for Qt interface.
}
unit RGBQtRoutines;
{$ifdef fpc}
{$mode objfpc}{$H+}
{$endif}
interface
uses
SysUtils, Types, LCLType, Qt4, QtObjects, Classes,
RGBTypes;
procedure WidgetSetDrawRGB32Bitmap(Dest: HDC; DstX, DstY: Integer; SrcX, SrcY, SrcWidth, SrcHeight: Integer;
Bitmap: TRGB32BitmapCore);
procedure WidgetSetStretchDrawRGB32Bitmap(Dest: HDC; DstX, DstY, DstWidth, DstHeight: Integer;
SrcX, SrcY, SrcWidth, SrcHeight: Integer; Bitmap: TRGB32BitmapCore);
procedure WidgetSetDrawRGB8Bitmap(Dest: HDC; DstX, DstY: Integer; SrcX, SrcY, SrcWidth, SrcHeight: Integer;
Bitmap: TRGB8BitmapCore);
implementation
procedure WidgetSetDrawRGB32Bitmap(Dest: HDC; DstX, DstY: Integer; SrcX, SrcY, SrcWidth,
SrcHeight: Integer; Bitmap: TRGB32BitmapCore);
begin
WidgetSetStretchDrawRGB32Bitmap(Dest, DstX, DstY, SrcWidth, SrcHeight, SrcX, SrcY, SrcWidth, SrcHeight, Bitmap);
end;
procedure WidgetSetStretchDrawRGB32Bitmap(Dest: HDC; DstX, DstY, DstWidth,
DstHeight: Integer; SrcX, SrcY, SrcWidth, SrcHeight: Integer;
Bitmap: TRGB32BitmapCore);
var
DstQDC: TQtDeviceContext absolute Dest;
SrcRect, DstRect: TRect;
Image: TQtImage;
begin
DstRect := Bounds(DstX, DstY, DstWidth, DstHeight);
SrcRect := Bounds(SrcX, SrcY, SrcWidth, SrcHeight);
Image := TQtImage.Create(Bitmap.Pixels, Bitmap.Width, Bitmap.Height, QImageFormat_RGB32);
try
QPainter_drawImage(DstQDC.Widget, PRect(@DstRect), Image.Handle, @SrcRect, QtAutoColor);
finally
Image.Free;
end;
end;
procedure WidgetSetDrawRGB8Bitmap(Dest: HDC; DstX, DstY: Integer; SrcX, SrcY,
SrcWidth, SrcHeight: Integer; Bitmap: TRGB8BitmapCore);
var
DstQDC: TQtDeviceContext absolute Dest;
SrcRect, DstRect: TRect;
Image: TQtImage;
I: Integer;
begin
DstRect := Bounds(DstX, DstY, SrcWidth, SrcHeight);
SrcRect := Bounds(SrcX, SrcY, SrcWidth, SrcHeight);
Image := TQtImage.Create(Bitmap.Pixels, Bitmap.Width, Bitmap.Height, QImageFormat_Indexed8);
try
// initialize palette
for I := 0 to 255 do
QImage_setColor(Image.Handle, I, I + I shl 8 + I shl 16 + $FF shl 24);
QPainter_drawImage(DstQDC.Widget, PRect(@DstRect), Image.Handle, @SrcRect, QtAutoColor);
finally
Image.Free;
end;
end;
end.

View File

@ -39,6 +39,9 @@ uses
{$IFDEF LCLwin32} {$IFDEF LCLwin32}
RGBWinRoutines, RGBWinRoutines,
{$ENDIF} {$ENDIF}
{$IFDEF LCLqt}
RGBQtRoutines,
{$ENDIF}
{$IFDEF LCLgtk} {$IFDEF LCLgtk}
{$DEFINE StretchRGB32} {$DEFINE StretchRGB32}
RGBGTKRoutines, RGBGTKRoutines,

View File

@ -33,6 +33,9 @@ unit RGBTypes;
{$ifdef LCLwin32} {$ifdef LCLwin32}
{$define RGB} {$define RGB}
{$endif} {$endif}
{$ifdef LCLqt}
{$define RGB}
{$endif}
interface interface