You've already forked lazarus-ccr
lazeyes: Adapts the region code for Gtk2
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1765 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -12,7 +12,7 @@
|
||||
<VersionInfo>
|
||||
<StringTable ProductVersion=""/>
|
||||
</VersionInfo>
|
||||
<BuildModes Count="2" Active="release">
|
||||
<BuildModes Count="2" Active="debug">
|
||||
<Item1 Name="debug" Default="True"/>
|
||||
<Item2 Name="release">
|
||||
<CompilerOptions>
|
||||
@ -64,7 +64,7 @@
|
||||
<PackageName Value="LCL"/>
|
||||
</Item1>
|
||||
</RequiredPackages>
|
||||
<Units Count="13">
|
||||
<Units Count="20">
|
||||
<Unit0>
|
||||
<Filename Value="lazeyes2.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
@ -73,8 +73,8 @@
|
||||
<EditorIndex Value="0"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="3" Y="20"/>
|
||||
<UsageCount Value="22"/>
|
||||
<CursorPos X="39" Y="25"/>
|
||||
<UsageCount Value="27"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit0>
|
||||
@ -86,9 +86,11 @@
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="..\..\..\lazarus\lcl\include\winapih.inc"/>
|
||||
<TopLine Value="49"/>
|
||||
<CursorPos X="1" Y="64"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="243"/>
|
||||
<CursorPos X="10" Y="267"/>
|
||||
<UsageCount Value="10"/>
|
||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\win32\win32winapi.inc"/>
|
||||
@ -103,7 +105,6 @@
|
||||
<TopLine Value="1452"/>
|
||||
<CursorPos X="21" Y="1462"/>
|
||||
<UsageCount Value="11"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
<Filename Value="..\..\..\lazarus\lcl\include\icnsicon.inc"/>
|
||||
@ -111,7 +112,7 @@
|
||||
<TopLine Value="224"/>
|
||||
<CursorPos X="3" Y="243"/>
|
||||
<UsageCount Value="11"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<Filename Value="..\..\..\lazarus\lcl\include\cursorimage.inc"/>
|
||||
@ -119,7 +120,7 @@
|
||||
<TopLine Value="41"/>
|
||||
<CursorPos X="3" Y="43"/>
|
||||
<UsageCount Value="11"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
<Filename Value="lazeyes2painter.pas"/>
|
||||
@ -129,17 +130,15 @@
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="28"/>
|
||||
<CursorPos X="25" Y="45"/>
|
||||
<UsageCount Value="20"/>
|
||||
<UsageCount Value="25"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
<Filename Value="lazeyes2.lrs"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
<UsageCount Value="12"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
<Filename Value="lazeyes2form.pas"/>
|
||||
@ -147,9 +146,9 @@
|
||||
<UnitName Value="lazeyes2form"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="205"/>
|
||||
<CursorPos X="1" Y="226"/>
|
||||
<UsageCount Value="20"/>
|
||||
<TopLine Value="167"/>
|
||||
<CursorPos X="11" Y="173"/>
|
||||
<UsageCount Value="25"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
@ -166,7 +165,6 @@
|
||||
<TopLine Value="1215"/>
|
||||
<CursorPos X="1" Y="1229"/>
|
||||
<UsageCount Value="10"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="F:\Jogos\Europa Universalis 2\AGCEEP\Scenarios\1419\1419_AYU_Ayutthaya.inc"/>
|
||||
@ -174,82 +172,191 @@
|
||||
<TopLine Value="48"/>
|
||||
<CursorPos X="13" Y="13"/>
|
||||
<UsageCount Value="10"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapih.inc"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="198"/>
|
||||
<CursorPos X="15" Y="230"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="9026"/>
|
||||
<CursorPos X="7" Y="9026"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit14>
|
||||
<Unit15>
|
||||
<Filename Value="..\..\..\fpcbuild\fpcsrc\rtl\inc\ctypes.pp"/>
|
||||
<UnitName Value="ctypes"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="95"/>
|
||||
<CursorPos X="35" Y="119"/>
|
||||
<UsageCount Value="10"/>
|
||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||
</Unit15>
|
||||
<Unit16>
|
||||
<Filename Value="..\..\..\lazarus\lcl\include\winapi.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="963"/>
|
||||
<CursorPos X="3" Y="965"/>
|
||||
<UsageCount Value="10"/>
|
||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||
</Unit16>
|
||||
<Unit17>
|
||||
<Filename Value="..\..\..\lazarus\lcl\include\intfbasewinapi.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="115"/>
|
||||
<CursorPos X="53" Y="139"/>
|
||||
<UsageCount Value="10"/>
|
||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||
</Unit17>
|
||||
<Unit18>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2proc.inc"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="3766"/>
|
||||
<CursorPos X="22" Y="3769"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit18>
|
||||
<Unit19>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2proc.pp"/>
|
||||
<UnitName Value="Gtk2Proc"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="305"/>
|
||||
<CursorPos X="18" Y="342"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit19>
|
||||
</Units>
|
||||
<JumpHistory Count="18" HistoryIndex="17">
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<Position1>
|
||||
<Filename Value="lazeyes2painter.pas"/>
|
||||
<Caret Line="11" Column="1" TopLine="1"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="lazeyes2painter.pas"/>
|
||||
<Caret Line="10" Column="29" TopLine="1"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="lazeyes2painter.pas"/>
|
||||
<Caret Line="89" Column="25" TopLine="79"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="lazeyes2painter.pas"/>
|
||||
<Caret Line="40" Column="3" TopLine="38"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="lazeyes2painter.pas"/>
|
||||
<Caret Line="31" Column="15" TopLine="18"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="lazeyes2painter.pas"/>
|
||||
<Caret Line="72" Column="1" TopLine="53"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="lazeyes2painter.pas"/>
|
||||
<Caret Line="157" Column="17" TopLine="144"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="lazeyes2.lrs"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="lazeyes2.lpr"/>
|
||||
<Caret Line="16" Column="27" TopLine="2"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="lazeyes2painter.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="lazeyes2painter.pas"/>
|
||||
<Caret Line="67" Column="10" TopLine="54"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="lazeyes2form.pas"/>
|
||||
<Caret Line="83" Column="20" TopLine="77"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="lazeyes2form.pas"/>
|
||||
<Caret Line="70" Column="11" TopLine="48"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="lazeyes2form.pas"/>
|
||||
<Caret Line="59" Column="23" TopLine="56"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="lazeyes2painter.pas"/>
|
||||
<Caret Line="40" Column="33" TopLine="28"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="lazeyes2painter.pas"/>
|
||||
<Caret Line="45" Column="25" TopLine="28"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="lazeyes2form.pas"/>
|
||||
<Caret Line="203" Column="1" TopLine="191"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="lazeyes2.lpr"/>
|
||||
<Caret Line="14" Column="18" TopLine="4"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="1306" Column="22" TopLine="1289"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapih.inc"/>
|
||||
<Caret Line="65" Column="21" TopLine="41"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="1304" Column="57" TopLine="1282"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapih.inc"/>
|
||||
<Caret Line="65" Column="42" TopLine="65"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="1320" Column="49" TopLine="1295"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="lazeyes2form.pas"/>
|
||||
<Caret Line="35" Column="33" TopLine="1"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="lazeyes2form.pas"/>
|
||||
<Caret Line="234" Column="14" TopLine="191"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="9013" Column="1" TopLine="9002"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="9014" Column="1" TopLine="9002"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="9016" Column="1" TopLine="9002"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="9018" Column="1" TopLine="9002"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="9019" Column="1" TopLine="9002"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="9021" Column="1" TopLine="9002"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="9024" Column="1" TopLine="9002"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="9015" Column="8" TopLine="9002"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="9013" Column="1" TopLine="9002"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2proc.inc"/>
|
||||
<Caret Line="3720" Column="1" TopLine="3696"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2proc.inc"/>
|
||||
<Caret Line="3723" Column="1" TopLine="3696"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2proc.inc"/>
|
||||
<Caret Line="3724" Column="1" TopLine="3696"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2proc.inc"/>
|
||||
<Caret Line="3725" Column="1" TopLine="3696"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2proc.inc"/>
|
||||
<Caret Line="3727" Column="1" TopLine="3696"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2proc.inc"/>
|
||||
<Caret Line="3732" Column="1" TopLine="3696"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="9014" Column="1" TopLine="9002"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="9013" Column="1" TopLine="9002"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2proc.inc"/>
|
||||
<Caret Line="3720" Column="1" TopLine="3696"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2proc.inc"/>
|
||||
<Caret Line="3723" Column="1" TopLine="3696"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2proc.inc"/>
|
||||
<Caret Line="3724" Column="1" TopLine="3696"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
<Filename Value="..\..\..\lazarus\lcl\interfaces\gtk2\gtk2winapi.inc"/>
|
||||
<Caret Line="9013" Column="21" TopLine="8996"/>
|
||||
</Position30>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
|
@ -22,6 +22,7 @@ uses
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
RequireDerivedFormResource := False;
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TMainForm, MainForm);
|
||||
Application.Run;
|
||||
|
@ -16,6 +16,7 @@ type
|
||||
TMainForm = class(TForm)
|
||||
public
|
||||
MyTimer: TTimer;
|
||||
FirstOnTimer: Boolean;
|
||||
WindowDragMousePos, WindowDragTopLeft: TPoint;
|
||||
WindowDragStarted: Boolean;
|
||||
Painter: TLazEye2Painter;
|
||||
@ -32,6 +33,7 @@ type
|
||||
procedure HandleOnMouseUp(Sender: TObject;
|
||||
Button: TMouseButton; Shift: TShiftState;
|
||||
X, Y: Integer);
|
||||
procedure SetWindowRegion();
|
||||
end;
|
||||
|
||||
var
|
||||
@ -42,8 +44,6 @@ implementation
|
||||
{ TMainForm }
|
||||
|
||||
constructor TMainForm.Create(AOwner: TComponent);
|
||||
var
|
||||
Rgn1, Rgn2, TotalRgn: HRGN;
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
|
||||
@ -55,6 +55,7 @@ begin
|
||||
MyTimer.Interval := 1000 div 60;
|
||||
MyTimer.OnTimer := @HandleOnTimer;
|
||||
MyTimer.Enabled := True;
|
||||
FirstOnTimer := True;
|
||||
|
||||
Painter := TLazEye2Painter.Create(Self);
|
||||
Painter.Parent := Self;
|
||||
@ -74,18 +75,7 @@ begin
|
||||
Position := poScreenCenter;
|
||||
|
||||
// set window transparency
|
||||
Rgn1 := CreateEllipticRgn(
|
||||
0, 0,
|
||||
INT_OUTER_EYE_WIDTH, INT_OUTER_EYE_HEIGHT);
|
||||
Rgn2 := CreateEllipticRgn(
|
||||
INT_OUTER_EYE_WIDTH + INT_INTEREYE_SPACE, 0,
|
||||
2*INT_OUTER_EYE_WIDTH + INT_INTEREYE_SPACE,
|
||||
INT_OUTER_EYE_HEIGHT);
|
||||
// The dest region needs to exist before calling
|
||||
// CombineRgn, so we create it with dummy values
|
||||
TotalRgn := CreateEllipticRgn(0, 0, 10, 10);
|
||||
LCLIntf.CombineRgn(TotalRgn, Rgn1, Rgn2, RGN_OR);
|
||||
LCLIntf.SetWindowRgn(Handle, TotalRgn, True);
|
||||
SetWindowRegion();
|
||||
end;
|
||||
|
||||
destructor TMainForm.Destroy;
|
||||
@ -177,6 +167,11 @@ end;
|
||||
{ Timer event - Updates the eyes if the mouse moved }
|
||||
procedure TMainForm.HandleOnTimer(ASender: TObject);
|
||||
begin
|
||||
{$ifdef LCLGtk2}
|
||||
if FirstOnTimer then SetWindowRegion();
|
||||
FirstOnTimer := False;
|
||||
{$endif}
|
||||
|
||||
// Check if mouse position changed
|
||||
if (MousePos.X = Mouse.CursorPos.X) and
|
||||
(MousePos.Y = Mouse.CursorPos.Y) then Exit;
|
||||
@ -226,5 +221,23 @@ begin
|
||||
WindowDragStarted := False;
|
||||
end;
|
||||
|
||||
procedure TMainForm.SetWindowRegion();
|
||||
var
|
||||
Rgn1, Rgn2, TotalRgn: HRGN;
|
||||
begin
|
||||
Rgn1 := CreateEllipticRgn(
|
||||
0, 0,
|
||||
INT_OUTER_EYE_WIDTH, INT_OUTER_EYE_HEIGHT);
|
||||
Rgn2 := CreateEllipticRgn(
|
||||
INT_OUTER_EYE_WIDTH + INT_INTEREYE_SPACE, 0,
|
||||
2*INT_OUTER_EYE_WIDTH + INT_INTEREYE_SPACE,
|
||||
INT_OUTER_EYE_HEIGHT);
|
||||
// The dest region needs to exist before calling
|
||||
// CombineRgn, so we create it with dummy values
|
||||
TotalRgn := CreateEllipticRgn(0, 0, 10, 10);
|
||||
LCLIntf.CombineRgn(TotalRgn, Rgn1, Rgn2, RGN_OR);
|
||||
LCLIntf.SetWindowRgn(Handle, TotalRgn, True);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
Reference in New Issue
Block a user