video menus

This commit is contained in:
April Ayres-Griffiths 2019-03-31 23:18:55 +11:00
parent eab2b42af5
commit 72a3aa2024
10 changed files with 641 additions and 84 deletions

View File

@ -1,7 +1,7 @@
object GUIForm: TGUIForm
Left = 2022
Left = 589
Height = 491
Top = 124
Top = 177
Width = 807
AlphaBlendValue = 128
Caption = 'MicroM8 Simple GUI Prototype'
@ -64,7 +64,7 @@ object GUIForm: TGUIForm
end
object MainMenu1: TMainMenu
left = 584
top = 320
top = 321
object MenuItem1: TMenuItem
Caption = 'File'
OnClick = MenuItem1Click
@ -185,6 +185,86 @@ object GUIForm: TGUIForm
OnClick = miSLIClick
end
end
object miGRRenderMode: TMenuItem
Caption = 'GR Render Mode'
object miGRVoxels: TMenuItem
Caption = 'Color Voxels'
OnClick = miGRVoxelsClick
end
object miGRRaster: TMenuItem
Caption = 'Color Raster'
OnClick = miGRRasterClick
end
end
object MenuItem15: TMenuItem
Caption = 'HGR Render Mode'
object miColorDots: TMenuItem
Caption = 'Color Dots'
OnClick = miColorDotsClick
end
object miColorVoxels: TMenuItem
Caption = 'Color Voxels'
OnClick = miColorVoxelsClick
end
object miColorRaster: TMenuItem
Caption = 'Color Raster'
OnClick = miColorRasterClick
end
object miMonoDots: TMenuItem
Caption = 'Mono Dots'
OnClick = miMonoDotsClick
end
object miMonoVoxels: TMenuItem
Caption = 'Mono Voxels'
OnClick = miMonoVoxelsClick
end
object miMonoRaster: TMenuItem
Caption = 'Mono Raster'
OnClick = miMonoRasterClick
end
end
object MenuItem16: TMenuItem
Caption = 'DHGR Render Mode'
object miDHRColorDots: TMenuItem
Caption = 'Color Dots'
OnClick = miDHRColorDotsClick
end
object miDHRColorVoxels: TMenuItem
Caption = 'Color Voxels'
OnClick = miDHRColorVoxelsClick
end
object miDHRColorRaster: TMenuItem
Caption = 'Color Raster'
OnClick = miDHRColorRasterClick
end
object miDHRMonoDots: TMenuItem
Caption = 'Mono Dots'
OnClick = miDHRMonoDotsClick
end
object miDHRMonoVoxels: TMenuItem
Caption = 'Mono Voxels'
OnClick = miDHRMonoVoxelsClick
end
object miDHRMonoRaster: TMenuItem
Caption = 'Mono Raster'
OnClick = miDHRMonoRasterClick
end
end
object miSHR: TMenuItem
Caption = 'SuperHires Render Mode'
object miSHRColorDots: TMenuItem
Caption = 'Color Dots'
OnClick = miSHRColorDotsClick
end
object miSHRColorVoxels: TMenuItem
Caption = 'Color Voxels'
OnClick = miSHRColorVoxelsClick
end
object miSHRColorRaster: TMenuItem
Caption = 'Color Raster'
OnClick = miSHRColorRasterClick
end
end
end
end
object ImageList1: TImageList

View File

@ -26,6 +26,27 @@ type
MenuItem11: TMenuItem;
MenuItem12: TMenuItem;
MenuItem13: TMenuItem;
miSHRColorRaster: TMenuItem;
miSHRColorVoxels: TMenuItem;
miSHRColorDots: TMenuItem;
miSHR: TMenuItem;
miDHRMonoRaster: TMenuItem;
miDHRMonoVoxels: TMenuItem;
miDHRMonoDots: TMenuItem;
miDHRColorRaster: TMenuItem;
miDHRColorVoxels: TMenuItem;
miDHRColorDots: TMenuItem;
miMonoRaster: TMenuItem;
miMonoVoxels: TMenuItem;
miMonoDots: TMenuItem;
miColorRaster: TMenuItem;
miColorVoxels: TMenuItem;
miColorDots: TMenuItem;
miGRVoxels: TMenuItem;
MenuItem15: TMenuItem;
MenuItem16: TMenuItem;
miGRRaster: TMenuItem;
miGRRenderMode: TMenuItem;
miSLI9: TMenuItem;
miSLI8: TMenuItem;
miSLI7: TMenuItem;
@ -82,14 +103,31 @@ type
procedure MenuItem1Click(Sender: TObject);
procedure MenuItem2Click(Sender: TObject);
procedure Freeze;
procedure miColorDotsClick(Sender: TObject);
procedure miColorRasterClick(Sender: TObject);
procedure miColorVoxelsClick(Sender: TObject);
procedure miD1BlankClick(Sender: TObject);
procedure miD1FileClick(Sender: TObject);
procedure miD2BlankClick(Sender: TObject);
procedure miD2FileClick(Sender: TObject);
procedure miDHRColorDotsClick(Sender: TObject);
procedure miDHRColorRasterClick(Sender: TObject);
procedure miDHRColorVoxelsClick(Sender: TObject);
procedure miDHRMonoDotsClick(Sender: TObject);
procedure miDHRMonoRasterClick(Sender: TObject);
procedure miDHRMonoVoxelsClick(Sender: TObject);
procedure miFileCatClick(Sender: TObject);
procedure miGRRasterClick(Sender: TObject);
procedure miGRVoxelsClick(Sender: TObject);
procedure miIntFPClick(Sender: TObject);
procedure miIntINTClick(Sender: TObject);
procedure miIntLOGOClick(Sender: TObject);
procedure miMonoDotsClick(Sender: TObject);
procedure miMonoRasterClick(Sender: TObject);
procedure miMonoVoxelsClick(Sender: TObject);
procedure miSHRColorDotsClick(Sender: TObject);
procedure miSHRColorRasterClick(Sender: TObject);
procedure miSHRColorVoxelsClick(Sender: TObject);
procedure miSLIClick(Sender: TObject);
procedure miSPEjectClick(Sender: TObject);
procedure miSPFileClick(Sender: TObject);
@ -108,6 +146,7 @@ type
Shift: TShiftState; X, Y: Integer);
procedure ToolButton5Click(Sender: TObject);
procedure InsertDisk(Filename: string; Drive: integer);
procedure UpdateConfig(path: string; value: string; persist: boolean);
private
lx, ly, lw, lh: integer;
lastShowTime: TDateTime;
@ -153,7 +192,8 @@ begin
exit;
RepaintWindow;
HideM8;
if GetTitleOfActiveWindow <> 'microM8' then
HideM8;
StatusBar1.SimpleText := GetTitleOfActiveWindow;
//Memo1.Lines.Add('app is deactivating');
end;
@ -168,6 +208,21 @@ begin
self.hc.Get('http://localhost:38911/api/control/window/freeze');
end;
procedure TGUIForm.miColorDotsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.hgrmode', '0', true );
end;
procedure TGUIForm.miColorRasterClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.hgrmode', '2', true );
end;
procedure TGUIForm.miColorVoxelsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.hgrmode', '1', true );
end;
procedure TGUIForm.miD1BlankClick(Sender: TObject);
begin
self.hc.Get('http://localhost:38911/api/control/hardware/disk/eject/0');
@ -200,11 +255,51 @@ begin
ShowM8;
end;
procedure TGUIForm.miDHRColorDotsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.dhgrmode', '0', true );
end;
procedure TGUIForm.miDHRColorRasterClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.dhgrmode', '2', true );
end;
procedure TGUIForm.miDHRColorVoxelsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.dhgrmode', '1', true );
end;
procedure TGUIForm.miDHRMonoDotsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.dhgrmode', '4', true );
end;
procedure TGUIForm.miDHRMonoRasterClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.dhgrmode', '5', true );
end;
procedure TGUIForm.miDHRMonoVoxelsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.dhgrmode', '5', true );
end;
procedure TGUIForm.miFileCatClick(Sender: TObject);
begin
self.hc.Get('http://localhost:38911/api/control/system/catalog');
end;
procedure TGUIForm.miGRRasterClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.grmode', '2', true );
end;
procedure TGUIForm.miGRVoxelsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.grmode', '1', true );
end;
procedure TGUIForm.miIntFPClick(Sender: TObject);
begin
self.hc.Get('http://localhost:38911/api/control/interpreter/fp');
@ -220,9 +315,43 @@ begin
self.hc.Get('http://localhost:38911/api/control/interpreter/logo');
end;
procedure TGUIForm.miSLIClick(Sender: TObject);
procedure TGUIForm.miMonoDotsClick(Sender: TObject);
begin
self.hc.Get('http://localhost:38911/api/control/input/meta/key/i/value/'+TMenuItem(Sender).Caption);
UpdateConfig( 'video/init.video.hgrmode', '3', true );
end;
procedure TGUIForm.miMonoRasterClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.hgrmode', '5', true );
end;
procedure TGUIForm.miMonoVoxelsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.hgrmode', '4', true );
end;
procedure TGUIForm.miSHRColorDotsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.shrmode', '0', true );
end;
procedure TGUIForm.miSHRColorRasterClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.shrmode', '2', true );
end;
procedure TGUIForm.miSHRColorVoxelsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.shrmode', '1', true );
end;
procedure TGUIForm.miSLIClick(Sender: TObject);
const
values: Array[0..9] of string = ('1', '0.88', '0.77', '0.66', '0.55', '0.44', '0.33', '0.22', '0.11', '0');
begin
// self.hc.Get('http://localhost:38911/api/control/input/meta/key/i/value/'+TMenuItem(Sender).Caption);
UpdateConfig( 'video/init.video.scanline', values[StrToInt(TMenuItem(Sender).Caption)], true );
end;
procedure TGUIForm.miSPEjectClick(Sender: TObject);
@ -362,6 +491,26 @@ begin
Respo.Destroy;
end;
procedure TGUIForm.UpdateConfig(path: string; value: string; persist: boolean);
var
json, S, pval: string;
Respo: TStringStream;
f: TReplaceFlags;
begin
pval := 'false';
if persist then
pval := 'true';
json := '{"path":"' + path +
'","value":"'+ value +
'","persist":'+ pval +
'}';
Respo := TStringStream.Create('');
self.hc.SimpleFormPost('http://localhost:38911/api/control/settings/update',json,Respo);
S := Respo.DataString;
self.StatusBar1.SimpleText:=json;
Respo.Destroy;
end;
procedure TGUIForm.tbDisk1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin

View File

@ -12,7 +12,7 @@
<WindowIndex Value="-1"/>
<TopLine Value="-1"/>
<CursorPos X="-1" Y="-1"/>
<UsageCount Value="82"/>
<UsageCount Value="90"/>
</Unit0>
<Unit1>
<Filename Value="main.pas"/>
@ -21,9 +21,9 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<TopLine Value="81"/>
<CursorPos X="54" Y="100"/>
<UsageCount Value="82"/>
<TopLine Value="685"/>
<CursorPos X="4" Y="281"/>
<UsageCount Value="90"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
@ -32,130 +32,130 @@
<EditorIndex Value="1"/>
<TopLine Value="576"/>
<CursorPos X="49" Y="591"/>
<UsageCount Value="18"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit2>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="main.pas"/>
<Caret Line="497" Column="9" TopLine="469"/>
<Caret Line="96" Column="43" TopLine="75"/>
</Position1>
<Position2>
<Filename Value="main.pas"/>
<Caret Line="91" Column="35" TopLine="119"/>
<Caret Line="468" Column="61" TopLine="556"/>
</Position2>
<Position3>
<Filename Value="main.pas"/>
<Caret Line="320" Column="47" TopLine="305"/>
<Caret Line="164" Column="72" TopLine="130"/>
</Position3>
<Position4>
<Filename Value="main.pas"/>
<Caret Line="311" Column="19" TopLine="291"/>
<Caret Line="165" Column="72" TopLine="131"/>
</Position4>
<Position5>
<Filename Value="main.pas"/>
<Caret Line="488" Column="25" TopLine="462"/>
<Caret Line="166" Column="72" TopLine="132"/>
</Position5>
<Position6>
<Filename Value="main.pas"/>
<Caret Line="487" Column="14" TopLine="465"/>
<Caret Line="167" Column="72" TopLine="133"/>
</Position6>
<Position7>
<Filename Value="main.pas"/>
<Caret Line="468" Column="42" TopLine="444"/>
<Caret Line="231" Column="15" TopLine="211"/>
</Position7>
<Position8>
<Filename Value="main.pas"/>
<Caret Line="469" Column="41" TopLine="450"/>
<Caret Line="233" Column="8" TopLine="214"/>
</Position8>
<Position9>
<Filename Value="main.pas"/>
<Caret Line="464" Column="10" TopLine="451"/>
<Caret Line="385" Column="25" TopLine="361"/>
</Position9>
<Position10>
<Filename Value="main.pas"/>
<Caret Line="471" Column="6" TopLine="444"/>
<Caret Line="374" Column="61" TopLine="354"/>
</Position10>
<Position11>
<Filename Value="main.pas"/>
<Caret Line="477" Column="37" TopLine="451"/>
<Caret Line="115" Column="76" TopLine="106"/>
</Position11>
<Position12>
<Filename Value="main.pas"/>
<Caret Line="460" Column="16" TopLine="440"/>
<Caret Line="234" Column="96" TopLine="214"/>
</Position12>
<Position13>
<Filename Value="main.pas"/>
<Caret Line="527" Column="55" TopLine="495"/>
<Caret Line="115" Column="15" TopLine="96"/>
</Position13>
<Position14>
<Filename Value="main.pas"/>
<Caret Line="458" Column="19" TopLine="443"/>
<Caret Line="234" Column="100" TopLine="214"/>
</Position14>
<Position15>
<Filename Value="main.pas"/>
<Caret Line="571" Column="53" TopLine="548"/>
<Caret Line="384" Column="23" TopLine="354"/>
</Position15>
<Position16>
<Filename Value="main.pas"/>
<Caret Line="458" Column="24" TopLine="489"/>
<Caret Line="391" Column="23" TopLine="361"/>
</Position16>
<Position17>
<Filename Value="main.pas"/>
<Caret Line="539" Column="41" TopLine="502"/>
<Caret Line="241" Column="7" TopLine="216"/>
</Position17>
<Position18>
<Filename Value="main.pas"/>
<Caret Line="540" Column="41" TopLine="503"/>
<Caret Line="224" Column="3" TopLine="222"/>
</Position18>
<Position19>
<Filename Value="main.pas"/>
<Caret Line="541" Column="41" TopLine="504"/>
<Caret Line="219" Column="47" TopLine="217"/>
</Position19>
<Position20>
<Filename Value="main.pas"/>
<Caret Line="542" Column="41" TopLine="505"/>
<Caret Line="220" Column="47" TopLine="218"/>
</Position20>
<Position21>
<Filename Value="main.pas"/>
<Caret Line="543" Column="41" TopLine="506"/>
<Caret Line="221" Column="47" TopLine="219"/>
</Position21>
<Position22>
<Filename Value="main.pas"/>
<Caret Line="544" Column="41" TopLine="507"/>
<Caret Line="222" Column="47" TopLine="220"/>
</Position22>
<Position23>
<Filename Value="main.pas"/>
<Caret Line="545" Column="41" TopLine="508"/>
<Caret Line="223" Column="47" TopLine="221"/>
</Position23>
<Position24>
<Filename Value="main.pas"/>
<Caret Line="546" Column="41" TopLine="509"/>
<Caret Line="224" Column="47" TopLine="222"/>
</Position24>
<Position25>
<Filename Value="main.pas"/>
<Caret Line="547" Column="41" TopLine="510"/>
<Caret Line="231" Column="47" TopLine="229"/>
</Position25>
<Position26>
<Filename Value="main.pas"/>
<Caret Line="548" Column="41" TopLine="511"/>
<Caret Line="190" Column="3" TopLine="183"/>
</Position26>
<Position27>
<Filename Value="main.pas"/>
<Caret Line="549" Column="41" TopLine="512"/>
<Caret Line="201" Column="3" TopLine="184"/>
</Position27>
<Position28>
<Filename Value="main.pas"/>
<Caret Line="550" Column="41" TopLine="513"/>
<Caret Line="197" Column="3" TopLine="185"/>
</Position28>
<Position29>
<Filename Value="main.pas"/>
<Caret Line="557" Column="41" TopLine="520"/>
<Caret Line="270" Column="3" TopLine="250"/>
</Position29>
<Position30>
<Filename Value="main.pas"/>
<Caret Line="233" Column="68" TopLine="219"/>
<Caret Line="281" Column="3" TopLine="251"/>
</Position30>
</JumpHistory>
<RunParams>

View File

@ -1,7 +1,7 @@
object GUIForm: TGUIForm
Left = 2022
Left = 589
Height = 491
Top = 124
Top = 177
Width = 807
AlphaBlendValue = 128
Caption = 'MicroM8 Simple GUI Prototype'
@ -64,7 +64,7 @@ object GUIForm: TGUIForm
end
object MainMenu1: TMainMenu
left = 584
top = 320
top = 321
object MenuItem1: TMenuItem
Caption = 'File'
OnClick = MenuItem1Click
@ -185,6 +185,86 @@ object GUIForm: TGUIForm
OnClick = miSLIClick
end
end
object miGRRenderMode: TMenuItem
Caption = 'GR Render Mode'
object miGRVoxels: TMenuItem
Caption = 'Color Voxels'
OnClick = miGRVoxelsClick
end
object miGRRaster: TMenuItem
Caption = 'Color Raster'
OnClick = miGRRasterClick
end
end
object MenuItem15: TMenuItem
Caption = 'HGR Render Mode'
object miColorDots: TMenuItem
Caption = 'Color Dots'
OnClick = miColorDotsClick
end
object miColorVoxels: TMenuItem
Caption = 'Color Voxels'
OnClick = miColorVoxelsClick
end
object miColorRaster: TMenuItem
Caption = 'Color Raster'
OnClick = miColorRasterClick
end
object miMonoDots: TMenuItem
Caption = 'Mono Dots'
OnClick = miMonoDotsClick
end
object miMonoVoxels: TMenuItem
Caption = 'Mono Voxels'
OnClick = miMonoVoxelsClick
end
object miMonoRaster: TMenuItem
Caption = 'Mono Raster'
OnClick = miMonoRasterClick
end
end
object MenuItem16: TMenuItem
Caption = 'DHGR Render Mode'
object miDHRColorDots: TMenuItem
Caption = 'Color Dots'
OnClick = miDHRColorDotsClick
end
object miDHRColorVoxels: TMenuItem
Caption = 'Color Voxels'
OnClick = miDHRColorVoxelsClick
end
object miDHRColorRaster: TMenuItem
Caption = 'Color Raster'
OnClick = miDHRColorRasterClick
end
object miDHRMonoDots: TMenuItem
Caption = 'Mono Dots'
OnClick = miDHRMonoDotsClick
end
object miDHRMonoVoxels: TMenuItem
Caption = 'Mono Voxels'
OnClick = miDHRMonoVoxelsClick
end
object miDHRMonoRaster: TMenuItem
Caption = 'Mono Raster'
OnClick = miDHRMonoRasterClick
end
end
object miSHR: TMenuItem
Caption = 'SuperHires Render Mode'
object miSHRColorDots: TMenuItem
Caption = 'Color Dots'
OnClick = miSHRColorDotsClick
end
object miSHRColorVoxels: TMenuItem
Caption = 'Color Voxels'
OnClick = miSHRColorVoxelsClick
end
object miSHRColorRaster: TMenuItem
Caption = 'Color Raster'
OnClick = miSHRColorRasterClick
end
end
end
end
object ImageList1: TImageList

Binary file not shown.

Binary file not shown.

Binary file not shown.

101
main.lfm
View File

@ -1,7 +1,7 @@
object GUIForm: TGUIForm
Left = 2022
Left = 589
Height = 491
Top = 124
Top = 177
Width = 807
AlphaBlendValue = 128
Caption = 'MicroM8 Simple GUI Prototype'
@ -64,7 +64,7 @@ object GUIForm: TGUIForm
end
object MainMenu1: TMainMenu
left = 584
top = 320
top = 321
object MenuItem1: TMenuItem
Caption = 'File'
OnClick = MenuItem1Click
@ -185,6 +185,101 @@ object GUIForm: TGUIForm
OnClick = miSLIClick
end
end
object miGRRenderMode: TMenuItem
Caption = 'GR Render Mode'
object miGRVoxels: TMenuItem
Caption = 'Color Voxels'
OnClick = miGRVoxelsClick
end
object miGRRaster: TMenuItem
Caption = 'Color Raster'
OnClick = miGRRasterClick
end
end
object MenuItem15: TMenuItem
Caption = 'HGR Render Mode'
object miColorDots: TMenuItem
Caption = 'Color Dots'
OnClick = miColorDotsClick
end
object miColorVoxels: TMenuItem
Caption = 'Color Voxels'
OnClick = miColorVoxelsClick
end
object miColorRaster: TMenuItem
Caption = 'Color Raster'
OnClick = miColorRasterClick
end
object miMonoDots: TMenuItem
Caption = 'Mono Dots'
OnClick = miMonoDotsClick
end
object miMonoVoxels: TMenuItem
Caption = 'Mono Voxels'
OnClick = miMonoVoxelsClick
end
object miMonoRaster: TMenuItem
Caption = 'Mono Raster'
OnClick = miMonoRasterClick
end
end
object MenuItem16: TMenuItem
Caption = 'DHGR Render Mode'
object miDHRColorDots: TMenuItem
Caption = 'Color Dots'
OnClick = miDHRColorDotsClick
end
object miDHRColorVoxels: TMenuItem
Caption = 'Color Voxels'
OnClick = miDHRColorVoxelsClick
end
object miDHRColorRaster: TMenuItem
Caption = 'Color Raster'
OnClick = miDHRColorRasterClick
end
object miDHRMonoDots: TMenuItem
Caption = 'Mono Dots'
OnClick = miDHRMonoDotsClick
end
object miDHRMonoVoxels: TMenuItem
Caption = 'Mono Voxels'
OnClick = miDHRMonoVoxelsClick
end
object miDHRMonoRaster: TMenuItem
Caption = 'Mono Raster'
OnClick = miDHRMonoRasterClick
end
object N1: TMenuItem
Caption = '-'
end
object MenuItem14: TMenuItem
Caption = 'Enhanced Mode'
object miDHREMAuto: TMenuItem
Caption = 'Autodetect'
end
object miDHREMOn: TMenuItem
Caption = 'On'
end
object miDHREMOff: TMenuItem
Caption = 'Off'
end
end
end
object miSHR: TMenuItem
Caption = 'SuperHires Render Mode'
object miSHRColorDots: TMenuItem
Caption = 'Color Dots'
OnClick = miSHRColorDotsClick
end
object miSHRColorVoxels: TMenuItem
Caption = 'Color Voxels'
OnClick = miSHRColorVoxelsClick
end
object miSHRColorRaster: TMenuItem
Caption = 'Color Raster'
OnClick = miSHRColorRasterClick
end
end
end
end
object ImageList1: TImageList

157
main.pas
View File

@ -26,6 +26,32 @@ type
MenuItem11: TMenuItem;
MenuItem12: TMenuItem;
MenuItem13: TMenuItem;
MenuItem14: TMenuItem;
miDHREMAuto: TMenuItem;
miDHREMOn: TMenuItem;
miDHREMOff: TMenuItem;
N1: TMenuItem;
miSHRColorRaster: TMenuItem;
miSHRColorVoxels: TMenuItem;
miSHRColorDots: TMenuItem;
miSHR: TMenuItem;
miDHRMonoRaster: TMenuItem;
miDHRMonoVoxels: TMenuItem;
miDHRMonoDots: TMenuItem;
miDHRColorRaster: TMenuItem;
miDHRColorVoxels: TMenuItem;
miDHRColorDots: TMenuItem;
miMonoRaster: TMenuItem;
miMonoVoxels: TMenuItem;
miMonoDots: TMenuItem;
miColorRaster: TMenuItem;
miColorVoxels: TMenuItem;
miColorDots: TMenuItem;
miGRVoxels: TMenuItem;
MenuItem15: TMenuItem;
MenuItem16: TMenuItem;
miGRRaster: TMenuItem;
miGRRenderMode: TMenuItem;
miSLI9: TMenuItem;
miSLI8: TMenuItem;
miSLI7: TMenuItem;
@ -82,14 +108,31 @@ type
procedure MenuItem1Click(Sender: TObject);
procedure MenuItem2Click(Sender: TObject);
procedure Freeze;
procedure miColorDotsClick(Sender: TObject);
procedure miColorRasterClick(Sender: TObject);
procedure miColorVoxelsClick(Sender: TObject);
procedure miD1BlankClick(Sender: TObject);
procedure miD1FileClick(Sender: TObject);
procedure miD2BlankClick(Sender: TObject);
procedure miD2FileClick(Sender: TObject);
procedure miDHRColorDotsClick(Sender: TObject);
procedure miDHRColorRasterClick(Sender: TObject);
procedure miDHRColorVoxelsClick(Sender: TObject);
procedure miDHRMonoDotsClick(Sender: TObject);
procedure miDHRMonoRasterClick(Sender: TObject);
procedure miDHRMonoVoxelsClick(Sender: TObject);
procedure miFileCatClick(Sender: TObject);
procedure miGRRasterClick(Sender: TObject);
procedure miGRVoxelsClick(Sender: TObject);
procedure miIntFPClick(Sender: TObject);
procedure miIntINTClick(Sender: TObject);
procedure miIntLOGOClick(Sender: TObject);
procedure miMonoDotsClick(Sender: TObject);
procedure miMonoRasterClick(Sender: TObject);
procedure miMonoVoxelsClick(Sender: TObject);
procedure miSHRColorDotsClick(Sender: TObject);
procedure miSHRColorRasterClick(Sender: TObject);
procedure miSHRColorVoxelsClick(Sender: TObject);
procedure miSLIClick(Sender: TObject);
procedure miSPEjectClick(Sender: TObject);
procedure miSPFileClick(Sender: TObject);
@ -108,6 +151,7 @@ type
Shift: TShiftState; X, Y: Integer);
procedure ToolButton5Click(Sender: TObject);
procedure InsertDisk(Filename: string; Drive: integer);
procedure UpdateConfig(path: string; value: string; persist: boolean);
private
lx, ly, lw, lh: integer;
lastShowTime: TDateTime;
@ -169,6 +213,21 @@ begin
self.hc.Get('http://localhost:38911/api/control/window/freeze');
end;
procedure TGUIForm.miColorDotsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.hgrmode', '0', true );
end;
procedure TGUIForm.miColorRasterClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.hgrmode', '2', true );
end;
procedure TGUIForm.miColorVoxelsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.hgrmode', '1', true );
end;
procedure TGUIForm.miD1BlankClick(Sender: TObject);
begin
self.hc.Get('http://localhost:38911/api/control/hardware/disk/eject/0');
@ -201,11 +260,51 @@ begin
ShowM8;
end;
procedure TGUIForm.miDHRColorDotsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.dhgrmode', '0', true );
end;
procedure TGUIForm.miDHRColorRasterClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.dhgrmode', '2', true );
end;
procedure TGUIForm.miDHRColorVoxelsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.dhgrmode', '1', true );
end;
procedure TGUIForm.miDHRMonoDotsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.dhgrmode', '4', true );
end;
procedure TGUIForm.miDHRMonoRasterClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.dhgrmode', '5', true );
end;
procedure TGUIForm.miDHRMonoVoxelsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.dhgrmode', '5', true );
end;
procedure TGUIForm.miFileCatClick(Sender: TObject);
begin
self.hc.Get('http://localhost:38911/api/control/system/catalog');
end;
procedure TGUIForm.miGRRasterClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.grmode', '2', true );
end;
procedure TGUIForm.miGRVoxelsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.grmode', '1', true );
end;
procedure TGUIForm.miIntFPClick(Sender: TObject);
begin
self.hc.Get('http://localhost:38911/api/control/interpreter/fp');
@ -221,9 +320,43 @@ begin
self.hc.Get('http://localhost:38911/api/control/interpreter/logo');
end;
procedure TGUIForm.miSLIClick(Sender: TObject);
procedure TGUIForm.miMonoDotsClick(Sender: TObject);
begin
self.hc.Get('http://localhost:38911/api/control/input/meta/key/i/value/'+TMenuItem(Sender).Caption);
UpdateConfig( 'video/init.video.hgrmode', '3', true );
end;
procedure TGUIForm.miMonoRasterClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.hgrmode', '5', true );
end;
procedure TGUIForm.miMonoVoxelsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.hgrmode', '4', true );
end;
procedure TGUIForm.miSHRColorDotsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.shrmode', '0', true );
end;
procedure TGUIForm.miSHRColorRasterClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.shrmode', '2', true );
end;
procedure TGUIForm.miSHRColorVoxelsClick(Sender: TObject);
begin
UpdateConfig( 'video/init.video.shrmode', '1', true );
end;
procedure TGUIForm.miSLIClick(Sender: TObject);
const
values: Array[0..9] of string = ('1', '0.88', '0.77', '0.66', '0.55', '0.44', '0.33', '0.22', '0.11', '0');
begin
// self.hc.Get('http://localhost:38911/api/control/input/meta/key/i/value/'+TMenuItem(Sender).Caption);
UpdateConfig( 'video/init.video.scanline', values[StrToInt(TMenuItem(Sender).Caption)], true );
end;
procedure TGUIForm.miSPEjectClick(Sender: TObject);
@ -363,6 +496,26 @@ begin
Respo.Destroy;
end;
procedure TGUIForm.UpdateConfig(path: string; value: string; persist: boolean);
var
json, S, pval: string;
Respo: TStringStream;
f: TReplaceFlags;
begin
pval := 'false';
if persist then
pval := 'true';
json := '{"path":"' + path +
'","value":"'+ value +
'","persist":'+ pval +
'}';
Respo := TStringStream.Create('');
self.hc.SimpleFormPost('http://localhost:38911/api/control/settings/update',json,Respo);
S := Respo.DataString;
self.StatusBar1.SimpleText:=json;
Respo.Destroy;
end;
procedure TGUIForm.tbDisk1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin

70
poc.lps
View File

@ -12,7 +12,7 @@
<WindowIndex Value="-1"/>
<TopLine Value="-1"/>
<CursorPos X="-1" Y="-1"/>
<UsageCount Value="82"/>
<UsageCount Value="90"/>
</Unit0>
<Unit1>
<Filename Value="main.pas"/>
@ -21,9 +21,9 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<TopLine Value="399"/>
<CursorPos X="99" Y="417"/>
<UsageCount Value="82"/>
<TopLine Value="338"/>
<CursorPos X="89" Y="362"/>
<UsageCount Value="90"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
@ -32,130 +32,130 @@
<EditorIndex Value="1"/>
<TopLine Value="576"/>
<CursorPos X="49" Y="591"/>
<UsageCount Value="18"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit2>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="main.pas"/>
<Caret Line="91" Column="35" TopLine="119"/>
<Caret Line="231" Column="47" TopLine="229"/>
</Position1>
<Position2>
<Filename Value="main.pas"/>
<Caret Line="320" Column="47" TopLine="305"/>
<Caret Line="190" Column="3" TopLine="183"/>
</Position2>
<Position3>
<Filename Value="main.pas"/>
<Caret Line="311" Column="19" TopLine="291"/>
<Caret Line="201" Column="3" TopLine="184"/>
</Position3>
<Position4>
<Filename Value="main.pas"/>
<Caret Line="488" Column="25" TopLine="462"/>
<Caret Line="197" Column="3" TopLine="185"/>
</Position4>
<Position5>
<Filename Value="main.pas"/>
<Caret Line="487" Column="14" TopLine="465"/>
<Caret Line="270" Column="3" TopLine="250"/>
</Position5>
<Position6>
<Filename Value="main.pas"/>
<Caret Line="468" Column="42" TopLine="444"/>
<Caret Line="281" Column="4" TopLine="685"/>
</Position6>
<Position7>
<Filename Value="main.pas"/>
<Caret Line="469" Column="41" TopLine="450"/>
<Caret Line="196" Column="62" TopLine="190"/>
</Position7>
<Position8>
<Filename Value="main.pas"/>
<Caret Line="464" Column="10" TopLine="451"/>
<Caret Line="197" Column="62" TopLine="191"/>
</Position8>
<Position9>
<Filename Value="main.pas"/>
<Caret Line="471" Column="6" TopLine="444"/>
<Caret Line="198" Column="62" TopLine="192"/>
</Position9>
<Position10>
<Filename Value="main.pas"/>
<Caret Line="477" Column="37" TopLine="451"/>
<Caret Line="199" Column="62" TopLine="193"/>
</Position10>
<Position11>
<Filename Value="main.pas"/>
<Caret Line="460" Column="16" TopLine="440"/>
<Caret Line="200" Column="62" TopLine="194"/>
</Position11>
<Position12>
<Filename Value="main.pas"/>
<Caret Line="527" Column="55" TopLine="495"/>
<Caret Line="201" Column="62" TopLine="195"/>
</Position12>
<Position13>
<Filename Value="main.pas"/>
<Caret Line="458" Column="19" TopLine="443"/>
<Caret Line="203" Column="62" TopLine="197"/>
</Position13>
<Position14>
<Filename Value="main.pas"/>
<Caret Line="571" Column="53" TopLine="548"/>
<Caret Line="249" Column="48" TopLine="229"/>
</Position14>
<Position15>
<Filename Value="main.pas"/>
<Caret Line="458" Column="24" TopLine="489"/>
<Caret Line="260" Column="49" TopLine="230"/>
</Position15>
<Position16>
<Filename Value="main.pas"/>
<Caret Line="539" Column="41" TopLine="502"/>
<Caret Line="256" Column="36" TopLine="231"/>
</Position16>
<Position17>
<Filename Value="main.pas"/>
<Caret Line="540" Column="41" TopLine="503"/>
<Caret Line="267" Column="36" TopLine="232"/>
</Position17>
<Position18>
<Filename Value="main.pas"/>
<Caret Line="541" Column="41" TopLine="504"/>
<Caret Line="278" Column="36" TopLine="241"/>
</Position18>
<Position19>
<Filename Value="main.pas"/>
<Caret Line="542" Column="41" TopLine="505"/>
<Caret Line="273" Column="36" TopLine="241"/>
</Position19>
<Position20>
<Filename Value="main.pas"/>
<Caret Line="543" Column="41" TopLine="506"/>
<Caret Line="274" Column="36" TopLine="242"/>
</Position20>
<Position21>
<Filename Value="main.pas"/>
<Caret Line="544" Column="41" TopLine="507"/>
<Caret Line="275" Column="36" TopLine="243"/>
</Position21>
<Position22>
<Filename Value="main.pas"/>
<Caret Line="545" Column="41" TopLine="508"/>
<Caret Line="276" Column="36" TopLine="244"/>
</Position22>
<Position23>
<Filename Value="main.pas"/>
<Caret Line="546" Column="41" TopLine="509"/>
<Caret Line="278" Column="36" TopLine="246"/>
</Position23>
<Position24>
<Filename Value="main.pas"/>
<Caret Line="547" Column="41" TopLine="510"/>
<Caret Line="335" TopLine="332"/>
</Position24>
<Position25>
<Filename Value="main.pas"/>
<Caret Line="548" Column="41" TopLine="511"/>
<Caret Line="345" Column="50" TopLine="333"/>
</Position25>
<Position26>
<Filename Value="main.pas"/>
<Caret Line="549" Column="41" TopLine="512"/>
<Caret Line="357" Column="89" TopLine="333"/>
</Position26>
<Position27>
<Filename Value="main.pas"/>
<Caret Line="550" Column="41" TopLine="513"/>
<Caret Line="358" Column="89" TopLine="334"/>
</Position27>
<Position28>
<Filename Value="main.pas"/>
<Caret Line="557" Column="41" TopLine="520"/>
<Caret Line="359" Column="89" TopLine="335"/>
</Position28>
<Position29>
<Filename Value="main.pas"/>
<Caret Line="233" Column="68" TopLine="219"/>
<Caret Line="360" Column="89" TopLine="336"/>
</Position29>
<Position30>
<Filename Value="main.pas"/>
<Caret Line="100" Column="54" TopLine="81"/>
<Caret Line="361" Column="89" TopLine="337"/>
</Position30>
</JumpHistory>
<RunParams>