git-svn-id: https://spexeah.com:8443/svn/Asuro@644 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
1 parent
e8508fb22f
commit
4cf64375f8
14 files changed
+92
-31
No files matched your search
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+32
-3
@@ -759,7 +759,34 @@ begin
|
|||||||
{ Handle any Clicks that have happened since last redraw }
|
{ Handle any Clicks that have happened since last redraw }
|
||||||
if UnhandledClick then begin
|
if UnhandledClick then begin
|
||||||
if UnhandledClickLeft then begin
|
if UnhandledClickLeft then begin
|
||||||
SelectedWindow:= WindowMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)];
|
|
||||||
|
SelectedWindow:= WindowTitleMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)];
|
||||||
|
if SelectedWindow <> 0 then begin
|
||||||
|
if WindowManager.Windows[SelectedWindow] <> nil then begin
|
||||||
|
if WindowManager.Windows[SelectedWindow]^.ShellWND then FocusZOrder(SelectedWindow);
|
||||||
|
end;
|
||||||
|
end else begin
|
||||||
|
SelectedWindow:= ExitMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)];
|
||||||
|
if SelectedWindow <> 0 then begin
|
||||||
|
closeWindow(SelectedWindow);
|
||||||
|
end else begin
|
||||||
|
SelectedWindow:= WindowMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)];
|
||||||
|
if (SelectedWindow <> 0) and (WindowManager.Windows[SelectedWindow] <> nil) then begin
|
||||||
|
if (WindowManager.Z_Order[0] = SelectedWindow) or (WindowManager.Windows[SelectedWindow]^.ShellWND = false) then begin
|
||||||
|
if WindowManager.Windows[SelectedWindow]^.Hooks.OnMouseClick <> nil then begin
|
||||||
|
deltax:= MouseXToTile(WindowManager.MousePrev.X) - WindowManager.Windows[SelectedWindow]^.WND_X;
|
||||||
|
deltay:= MouseYToTile(WindowManager.MousePrev.Y) - WindowManager.Windows[SelectedWindow]^.WND_Y;
|
||||||
|
WindowManager.Windows[SelectedWindow]^.Hooks.OnMouseClick(deltax, deltay, true);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if (WindowManager.Z_Order[0] <> SelectedWindow) and (WindowManager.Windows[SelectedWindow]^.ShellWND) then begin
|
||||||
|
FocusZOrder(SelectedWindow);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{SelectedWindow:= WindowMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)];
|
||||||
if (SelectedWindow <> 0) and (WindowManager.Windows[SelectedWindow] <> nil) then begin
|
if (SelectedWindow <> 0) and (WindowManager.Windows[SelectedWindow] <> nil) then begin
|
||||||
//OnClickHandler(Left)
|
//OnClickHandler(Left)
|
||||||
if (WindowManager.Z_Order[0] = SelectedWindow) or (WindowManager.Windows[SelectedWindow]^.ShellWND = false) then begin
|
if (WindowManager.Z_Order[0] = SelectedWindow) or (WindowManager.Windows[SelectedWindow]^.ShellWND = false) then begin
|
||||||
@@ -773,7 +800,7 @@ begin
|
|||||||
FocusZOrder(SelectedWindow);
|
FocusZOrder(SelectedWindow);
|
||||||
end;
|
end;
|
||||||
end else begin
|
end else begin
|
||||||
if SelectedWindow = 0 then SelectedWindow:= WindowTitleMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)];
|
SelectedWindow:= WindowTitleMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)];
|
||||||
if SelectedWindow <> 0 then begin
|
if SelectedWindow <> 0 then begin
|
||||||
if WindowManager.Windows[SelectedWindow] <> nil then begin
|
if WindowManager.Windows[SelectedWindow] <> nil then begin
|
||||||
if WindowManager.Windows[SelectedWindow]^.ShellWND then FocusZOrder(SelectedWindow);
|
if WindowManager.Windows[SelectedWindow]^.ShellWND then FocusZOrder(SelectedWindow);
|
||||||
@@ -783,7 +810,9 @@ begin
|
|||||||
if SelectedWindow <> 0 then begin
|
if SelectedWindow <> 0 then begin
|
||||||
closeWindow(SelectedWindow);
|
closeWindow(SelectedWindow);
|
||||||
end;
|
end;
|
||||||
end;
|
end;}
|
||||||
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
if not UnhandledClickLeft then begin
|
if not UnhandledClickLeft then begin
|
||||||
SelectedWindow:= WindowMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)];
|
SelectedWindow:= WindowMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)];
|
||||||
|
|||||||
+60
-28
@@ -3,16 +3,18 @@ unit shell;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Console, RTC, terminal;
|
Console, RTC, terminal, strings;
|
||||||
|
|
||||||
procedure init();
|
procedure init();
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
var
|
var
|
||||||
Handle : HWND = 0;
|
TaskBarHandle : HWND = 0;
|
||||||
Colors : uint32;
|
DesktopHandle : HWND = 0;
|
||||||
|
Takbar_Colors : uint32;
|
||||||
Explore_Colors : uint32;
|
Explore_Colors : uint32;
|
||||||
|
Desktop_Colors : uint32;
|
||||||
|
|
||||||
procedure Draw();
|
procedure Draw();
|
||||||
var
|
var
|
||||||
@@ -23,30 +25,30 @@ var
|
|||||||
begin
|
begin
|
||||||
DateTime:= getDateTime;
|
DateTime:= getDateTime;
|
||||||
|
|
||||||
console.clearWNDEx(Handle, colors);
|
console.clearWNDEx(TaskBarHandle, Takbar_Colors);
|
||||||
|
|
||||||
console.setCursorPosWND(0, 0, Handle);
|
console.setCursorPosWND(0, 0, TaskBarHandle);
|
||||||
console.writeStringExWND(' TERMINAL ', Explore_Colors, Handle);
|
console.writeStringExWND(' TERMINAL ', Explore_Colors, TaskBarHandle);
|
||||||
console.writeCharExWND(#6, Colors, Handle);
|
console.writeCharExWND(#6, Takbar_Colors, TaskBarHandle);
|
||||||
|
|
||||||
for i:=0 to 9 do begin
|
for i:=0 to 9 do begin
|
||||||
s:= getWindowName(i);
|
s:= getWindowName(i);
|
||||||
if s <> nil then begin
|
if s <> nil then begin
|
||||||
console.writeStringExWND(s, Colors, Handle);
|
console.writeStringExWND(s, Takbar_Colors, TaskBarHandle);
|
||||||
console.writeCharExWND(' ', Colors, Handle);
|
console.writeCharExWND(' ', Takbar_Colors, TaskBarHandle);
|
||||||
console.writeCharExWND(#6, Colors, Handle);
|
console.writeCharExWND(#6, Takbar_Colors, TaskBarHandle);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
console.setCursorPosWND(150, 0, Handle);
|
console.setCursorPosWND(150, 0, TaskBarHandle);
|
||||||
if DateTime.Hours < 10 then writeIntExWND(0, Colors, Handle);
|
if DateTime.Hours < 10 then writeIntExWND(0, Takbar_Colors, TaskBarHandle);
|
||||||
writeIntExWND(DateTime.Hours, Colors, Handle);
|
writeIntExWND(DateTime.Hours, Takbar_Colors, TaskBarHandle);
|
||||||
writeStringExWND(':', Colors, Handle);
|
writeStringExWND(':', Takbar_Colors, TaskBarHandle);
|
||||||
if DateTime.Minutes < 10 then writeIntExWND(0, Colors, Handle);
|
if DateTime.Minutes < 10 then writeIntExWND(0, Takbar_Colors, TaskBarHandle);
|
||||||
writeIntExWND(DateTime.Minutes, Colors, Handle);
|
writeIntExWND(DateTime.Minutes, Takbar_Colors, TaskBarHandle);
|
||||||
writeStringExWND(':', Colors, Handle);
|
writeStringExWND(':', Takbar_Colors, TaskBarHandle);
|
||||||
if DateTime.Seconds < 10 then writeIntExWND(0, Colors, Handle);
|
if DateTime.Seconds < 10 then writeIntExWND(0, Takbar_Colors, TaskBarHandle);
|
||||||
writeIntExWND(DateTime.Seconds, Colors, Handle);
|
writeIntExWND(DateTime.Seconds, Takbar_Colors, TaskBarHandle);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure OnMouseClick(x : uint32; y : uint32; left : boolean);
|
procedure OnMouseClick(x : uint32; y : uint32; left : boolean);
|
||||||
@@ -62,20 +64,50 @@ end;
|
|||||||
|
|
||||||
procedure onBaseDraw();
|
procedure onBaseDraw();
|
||||||
begin
|
begin
|
||||||
clearWNDEx(0, console.combinecolors($01C3, $A55F));
|
clearWNDEx(DesktopHandle, Desktop_Colors);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure Command_Background(Params : PParamList);
|
||||||
|
var
|
||||||
|
p1 : PChar;
|
||||||
|
|
||||||
|
begin
|
||||||
|
if ParamCount(Params) > 0 then begin
|
||||||
|
p1:= GetParam(0, Params);
|
||||||
|
if StringEquals(p1, 'show') then begin
|
||||||
|
console.setWNDVisible(DesktopHandle, true);
|
||||||
|
console.writestringlnWND('Background enabled.', getTerminalHWND);
|
||||||
|
end else if StringEquals(p1, 'hide') then begin
|
||||||
|
console.setWNDVisible(DesktopHandle, false);
|
||||||
|
console.writestringlnWND('Background disabled.', getTerminalHWND);
|
||||||
|
end else begin
|
||||||
|
console.writestringlnWND('Invalid option.', getTerminalHWND);
|
||||||
|
end;
|
||||||
|
end else begin
|
||||||
|
console.writestringlnWND('Invalid number of parameters.', getTerminalHWND);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure init();
|
procedure init();
|
||||||
begin
|
begin
|
||||||
colors:= console.combinecolors($0000, $FFFF);
|
Takbar_Colors:= console.combinecolors($0000, $FFFF);
|
||||||
Explore_Colors:= console.combinecolors($01C3, $07EE);
|
Explore_Colors:= console.combinecolors($01C3, $07EE);
|
||||||
Handle:= Console.newWindow(0, 63, 159, 1, 'SHELL');
|
Desktop_Colors:= console.combinecolors($01C3, $A55F);
|
||||||
console.bordersEnabled(Handle, false);
|
|
||||||
//console.clearWNDEx(Handle, colors);
|
DesktopHandle:= Console.newWindow(0, 0, 159, 63, 'DESKTOP');
|
||||||
console.setShellWindow(Handle, false);
|
TaskBarHandle:= Console.newWindow(0, 63, 159, 1, 'SHELL');
|
||||||
console.registerEventHandler(Handle, EVENT_DRAW, void(@Draw));
|
|
||||||
console.registerEventHandler(Handle, EVENT_MOUSE_CLICK, void(@OnMouseClick));
|
console.bordersEnabled(TaskBarHandle, false);
|
||||||
console.registerEventHandler(0, EVENT_DRAW, void(@onBaseDraw));
|
console.setShellWindow(TaskBarHandle, false);
|
||||||
|
|
||||||
|
console.bordersEnabled(DesktopHandle, false);
|
||||||
|
console.setShellWindow(DesktopHandle, false);
|
||||||
|
|
||||||
|
console.registerEventHandler(TaskBarHandle, EVENT_DRAW, void(@Draw));
|
||||||
|
console.registerEventHandler(TaskBarHandle, EVENT_MOUSE_CLICK, void(@OnMouseClick));
|
||||||
|
console.registerEventHandler(DesktopHandle, EVENT_DRAW, void(@onBaseDraw));
|
||||||
|
|
||||||
|
terminal.registerCommand('BACKGROUND', @Command_Background, 'Hide/Show background - usage: BACKGROUND <hide/show>');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
Reference in new issue
Block a user