From 1423d21d13e4c5b925ac3e73764ae666ce3b4e60 Mon Sep 17 00:00:00 2001 From: k-m_schindler Date: Sun, 30 Nov 2008 12:57:27 +0000 Subject: Deluxe theme for Editor menu. Part 2. This part may break Classic theme. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1533 b956fd51-792f-4845-bead-9b4dfca2ff2c --- src/screens/UScreenEdit.pas | 102 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 83 insertions(+), 19 deletions(-) (limited to 'src/screens/UScreenEdit.pas') 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; -- cgit v1.2.3