aboutsummaryrefslogtreecommitdiffstats
path: root/src/screens
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/screens/UScreenEdit.pas102
1 files changed, 83 insertions, 19 deletions
diff --git a/src/screens/UScreenEdit.pas b/src/screens/UScreenEdit.pas
index 1fc2fcdc..7ad39c45 100644
--- a/src/screens/UScreenEdit.pas
+++ b/src/screens/UScreenEdit.pas
@@ -41,15 +41,28 @@ uses
type
TScreenEdit = class(TMenu)
public
-{ Tex_Background: TTexture;
+{
+ Tex_Background: TTexture;
FadeOut: boolean;
Path: string;
- FileName: string;}
+ FileName: string;
+}
+ TextDescription: integer;
+ TextDescriptionLong: integer;
+
constructor Create; override;
+ function ParseInput(PressedKey: cardinal; CharCode: WideChar;
+ PressedDown: boolean): boolean; override;
procedure onShow; override;
- function ParseInput(PressedKey: cardinal; CharCode: WideChar; PressedDown: boolean): boolean; override;
-{ function Draw: boolean; override;
- procedure Finish;}
+ procedure InteractNext; override;
+ procedure InteractPrev; override;
+ procedure InteractInc; override;
+ procedure InteractDec; override;
+ procedure SetAnimationProgress(Progress: real); override;
+{
+ function Draw: boolean; override;
+ procedure Finish;
+}
end;
implementation
@@ -60,12 +73,19 @@ uses
USkins,
SysUtils;
-function TScreenEdit.ParseInput(PressedKey: cardinal; CharCode: WideChar; PressedDown: boolean): boolean;
+function TScreenEdit.ParseInput(PressedKey: cardinal; CharCode: WideChar;
+ PressedDown: boolean): boolean;
+var
+ SDL_ModState: word;
begin
Result := true;
+
+ SDL_ModState := SDL_GetModState and (KMOD_LSHIFT + KMOD_RSHIFT +
+ KMOD_LCTRL + KMOD_RCTRL + KMOD_LALT + KMOD_RALT);
+
if (PressedDown) then
begin // Key Down
- // check normal keys
+ // check normal keys
case WideCharUpperCase(CharCode)[1] of
'Q':
begin
@@ -103,14 +123,10 @@ begin
end;
end;
- SDLK_DOWN:
- begin
- InteractNext;
- end;
- SDLK_UP:
- begin
- InteractPrev;
- end;
+ SDLK_DOWN: InteractInc;
+ SDLK_UP: InteractDec;
+ SDLK_RIGHT: InteractNext;
+ SDLK_LEFT: InteractPrev;
end;
end;
end;
@@ -118,8 +134,14 @@ end;
constructor TScreenEdit.Create;
begin
inherited Create;
- AddButton(400-200, 100 + 0*70, 400, 40, Skin.GetTextureFileName('ButtonF'));
- AddButtonText(10, 5, 0, 0, 0, 'Convert Midi to Txt');
+
+ TextDescription := AddText(Theme.Edit.TextDescription);
+// TextDescriptionLong := AddText(Theme.Edit.TextDescriptionLong);
+
+ LoadFromTheme(Theme.Edit);
+
+// AddButton(400-200, 100 + 0*70, 400, 40, Skin.GetTextureFileName('ButtonF'));
+// AddButtonText(10, 5, 0, 0, 0, 'Convert Midi to Txt');
// Button[High(Button)].Text[0].Size := 11;
// AddButton(400-200, 100 + 1*60, 400, 40, 'ButtonF');
@@ -128,9 +150,17 @@ begin
// AddButton(400-200, 100 + 2*60, 400, 40, 'ButtonF');
// AddButtonText(10, 5, 0, 0, 0, 'Set GAP');
- AddButton(400-200, 100 + 3*60, 400, 40, Skin.GetTextureFileName('ButtonF'));
- AddButtonText(10, 5, 0, 0, 0, 'Exit');
+// AddButton(400-200, 100 + 3*60, 400, 40, Skin.GetTextureFileName('ButtonF'));
+// AddButtonText(10, 5, 0, 0, 0, 'Exit');
+ AddButton(Theme.Edit.ButtonConvert);
+ AddButton(Theme.Edit.ButtonExit);
+
+{
+ if (Length(Button[0].Text)=0) then
+ AddButtonText(14, 20, Theme.Edit.Description[0]);
+}
+ Interaction := 0;
end;
procedure TScreenEdit.onShow;
@@ -140,6 +170,40 @@ begin
// Interaction := 0;
end;
+procedure TScreenEdit.InteractNext;
+begin
+ inherited InteractNext;
+ Text[TextDescription].Text := Theme.Edit.Description[Interaction];
+// Text[TextDescriptionLong].Text := Theme.Edit.DescriptionLong[Interaction];
+end;
+
+procedure TScreenEdit.InteractPrev;
+begin
+ inherited InteractPrev;
+ Text[TextDescription].Text := Theme.Edit.Description[Interaction];
+// Text[TextDescriptionLong].Text := Theme.Edit.DescriptionLong[Interaction];
+end;
+
+procedure TScreenEdit.InteractDec;
+begin
+ inherited InteractDec;
+ Text[TextDescription].Text := Theme.Edit.Description[Interaction];
+// Text[TextDescriptionLong].Text := Theme.Edit.DescriptionLong[Interaction];
+end;
+
+procedure TScreenEdit.InteractInc;
+begin
+ inherited InteractInc;
+ Text[TextDescription].Text := Theme.Edit.Description[Interaction];
+// Text[TextDescriptionLong].Text := Theme.Edit.DescriptionLong[Interaction];
+end;
+
+procedure TScreenEdit.SetAnimationProgress(Progress: real);
+begin
+ Static[0].Texture.ScaleW := Progress;
+ Static[0].Texture.ScaleH := Progress;
+end;
+
(*function TScreenEdit.Draw: boolean;
var
Min: integer;