git-svn-id: https://spexeah.com:8443/svn/Asuro@644 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
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 }
|
||||
if UnhandledClick 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
|
||||
//OnClickHandler(Left)
|
||||
if (WindowManager.Z_Order[0] = SelectedWindow) or (WindowManager.Windows[SelectedWindow]^.ShellWND = false) then begin
|
||||
@@ -773,7 +800,7 @@ begin
|
||||
FocusZOrder(SelectedWindow);
|
||||
end;
|
||||
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 WindowManager.Windows[SelectedWindow] <> nil then begin
|
||||
if WindowManager.Windows[SelectedWindow]^.ShellWND then FocusZOrder(SelectedWindow);
|
||||
@@ -783,7 +810,9 @@ begin
|
||||
if SelectedWindow <> 0 then begin
|
||||
closeWindow(SelectedWindow);
|
||||
end;
|
||||
end;
|
||||
end;}
|
||||
|
||||
|
||||
end;
|
||||
if not UnhandledClickLeft then begin
|
||||
SelectedWindow:= WindowMask[MouseYToTile(WindowManager.MousePrev.Y)][MouseXToTile(WindowManager.MousePrev.X)];
|
||||
|
||||
+60
-28
@@ -3,16 +3,18 @@ unit shell;
|
||||
interface
|
||||
|
||||
uses
|
||||
Console, RTC, terminal;
|
||||
Console, RTC, terminal, strings;
|
||||
|
||||
procedure init();
|
||||
|
||||
implementation
|
||||
|
||||
var
|
||||
Handle : HWND = 0;
|
||||
Colors : uint32;
|
||||
TaskBarHandle : HWND = 0;
|
||||
DesktopHandle : HWND = 0;
|
||||
Takbar_Colors : uint32;
|
||||
Explore_Colors : uint32;
|
||||
Desktop_Colors : uint32;
|
||||
|
||||
procedure Draw();
|
||||
var
|
||||
@@ -23,30 +25,30 @@ var
|
||||
begin
|
||||
DateTime:= getDateTime;
|
||||
|
||||
console.clearWNDEx(Handle, colors);
|
||||
console.clearWNDEx(TaskBarHandle, Takbar_Colors);
|
||||
|
||||
console.setCursorPosWND(0, 0, Handle);
|
||||
console.writeStringExWND(' TERMINAL ', Explore_Colors, Handle);
|
||||
console.writeCharExWND(#6, Colors, Handle);
|
||||
console.setCursorPosWND(0, 0, TaskBarHandle);
|
||||
console.writeStringExWND(' TERMINAL ', Explore_Colors, TaskBarHandle);
|
||||
console.writeCharExWND(#6, Takbar_Colors, TaskBarHandle);
|
||||
|
||||
for i:=0 to 9 do begin
|
||||
s:= getWindowName(i);
|
||||
if s <> nil then begin
|
||||
console.writeStringExWND(s, Colors, Handle);
|
||||
console.writeCharExWND(' ', Colors, Handle);
|
||||
console.writeCharExWND(#6, Colors, Handle);
|
||||
console.writeStringExWND(s, Takbar_Colors, TaskBarHandle);
|
||||
console.writeCharExWND(' ', Takbar_Colors, TaskBarHandle);
|
||||
console.writeCharExWND(#6, Takbar_Colors, TaskBarHandle);
|
||||
end;
|
||||
end;
|
||||
|
||||
console.setCursorPosWND(150, 0, Handle);
|
||||
if DateTime.Hours < 10 then writeIntExWND(0, Colors, Handle);
|
||||
writeIntExWND(DateTime.Hours, Colors, Handle);
|
||||
writeStringExWND(':', Colors, Handle);
|
||||
if DateTime.Minutes < 10 then writeIntExWND(0, Colors, Handle);
|
||||
writeIntExWND(DateTime.Minutes, Colors, Handle);
|
||||
writeStringExWND(':', Colors, Handle);
|
||||
if DateTime.Seconds < 10 then writeIntExWND(0, Colors, Handle);
|
||||
writeIntExWND(DateTime.Seconds, Colors, Handle);
|
||||
console.setCursorPosWND(150, 0, TaskBarHandle);
|
||||
if DateTime.Hours < 10 then writeIntExWND(0, Takbar_Colors, TaskBarHandle);
|
||||
writeIntExWND(DateTime.Hours, Takbar_Colors, TaskBarHandle);
|
||||
writeStringExWND(':', Takbar_Colors, TaskBarHandle);
|
||||
if DateTime.Minutes < 10 then writeIntExWND(0, Takbar_Colors, TaskBarHandle);
|
||||
writeIntExWND(DateTime.Minutes, Takbar_Colors, TaskBarHandle);
|
||||
writeStringExWND(':', Takbar_Colors, TaskBarHandle);
|
||||
if DateTime.Seconds < 10 then writeIntExWND(0, Takbar_Colors, TaskBarHandle);
|
||||
writeIntExWND(DateTime.Seconds, Takbar_Colors, TaskBarHandle);
|
||||
end;
|
||||
|
||||
procedure OnMouseClick(x : uint32; y : uint32; left : boolean);
|
||||
@@ -62,20 +64,50 @@ end;
|
||||
|
||||
procedure onBaseDraw();
|
||||
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;
|
||||
|
||||
procedure init();
|
||||
begin
|
||||
colors:= console.combinecolors($0000, $FFFF);
|
||||
Takbar_Colors:= console.combinecolors($0000, $FFFF);
|
||||
Explore_Colors:= console.combinecolors($01C3, $07EE);
|
||||
Handle:= Console.newWindow(0, 63, 159, 1, 'SHELL');
|
||||
console.bordersEnabled(Handle, false);
|
||||
//console.clearWNDEx(Handle, colors);
|
||||
console.setShellWindow(Handle, false);
|
||||
console.registerEventHandler(Handle, EVENT_DRAW, void(@Draw));
|
||||
console.registerEventHandler(Handle, EVENT_MOUSE_CLICK, void(@OnMouseClick));
|
||||
console.registerEventHandler(0, EVENT_DRAW, void(@onBaseDraw));
|
||||
Desktop_Colors:= console.combinecolors($01C3, $A55F);
|
||||
|
||||
DesktopHandle:= Console.newWindow(0, 0, 159, 63, 'DESKTOP');
|
||||
TaskBarHandle:= Console.newWindow(0, 63, 159, 1, 'SHELL');
|
||||
|
||||
console.bordersEnabled(TaskBarHandle, false);
|
||||
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.
|
||||
Reference in New Issue
Block a user