git-svn-id: https://spexeah.com:8443/svn/Asuro@644 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
parent
e8508fb22f
commit
4cf64375f8
BIN
bin/kernel.bin
BIN
bin/kernel.bin
Binary file not shown.
Binary file not shown.
BIN
lib/asuro.ppu
BIN
lib/asuro.ppu
Binary file not shown.
BIN
lib/console.o
BIN
lib/console.o
Binary file not shown.
BIN
lib/console.ppu
BIN
lib/console.ppu
Binary file not shown.
BIN
lib/kernel.ppu
BIN
lib/kernel.ppu
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/libpsystem.a
BIN
lib/libpsystem.a
Binary file not shown.
BIN
lib/shell.ppu
BIN
lib/shell.ppu
Binary file not shown.
BIN
lib/terminal.ppu
BIN
lib/terminal.ppu
Binary file not shown.
@ -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)];
|
||||||
|
@ -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.
|
Loading…
x
Reference in New Issue
Block a user