X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fopengl%2Fr_gui.pas;h=00fb568b7511e2e74ae01315f3b054acde145321;hb=06becc2e3715be961a5ce32accc4e97a4df28804;hp=3463a9ea100bc06167283342cceed2a9b1ddc622;hpb=9ebf2e197ffc28b9428e69170a76476e8eb6604c;p=d2df-sdl.git diff --git a/src/game/opengl/r_gui.pas b/src/game/opengl/r_gui.pas index 3463a9e..00fb568 100644 --- a/src/game/opengl/r_gui.pas +++ b/src/game/opengl/r_gui.pas @@ -23,9 +23,10 @@ interface procedure r_GUI_Free; procedure r_GUI_GetSize (ctrl: TGUIControl; out w, h: Integer); - procedure r_GUI_GetLogoSize (out w, h: WORD); + procedure r_GUI_GetLogoSize (out w, h: Integer); procedure r_GUI_GetMaxFontSize (BigFont: Boolean; out w, h: Integer); procedure r_GUI_GetStringSize (BigFont: Boolean; str: String; out w, h: Integer); + procedure r_GUI_Draw_Window (win: TGUIWindow); implementation @@ -49,6 +50,23 @@ implementation BOX8 = 'BOX8'; BOX9 = 'BOX9'; + MAINMENU_MARKER1 = 'MAINMENU_MARKER1'; + MAINMENU_MARKER2 = 'MAINMENU_MARKER2'; + SCROLL_LEFT = 'SCROLL_LEFT'; + SCROLL_RIGHT = 'SCROLL_RIGHT'; + SCROLL_MIDDLE = 'SCROLL_MIDDLE'; + SCROLL_MARKER = 'SCROLL_MARKER'; + EDIT_LEFT = 'EDIT_LEFT'; + EDIT_RIGHT = 'EDIT_RIGHT'; + EDIT_MIDDLE = 'EDIT_MIDDLE'; + EDIT_CURSORCOLOR: TRGB = (R:200; G:0; B:0); + EDIT_CURSORLEN = 10; + BSCROLL_UPA = 'BSCROLL_UP_A'; + BSCROLL_UPU = 'BSCROLL_UP_U'; + BSCROLL_DOWNA = 'BSCROLL_DOWN_A'; + BSCROLL_DOWNU = 'BSCROLL_DOWN_U'; + BSCROLL_MIDDLE = 'BSCROLL_MIDDLE'; + type TFontType = (Texture, Character); @@ -126,12 +144,15 @@ implementation h := hh; end; - procedure r_GUI_GetLogoSize (out w, h: WORD); + procedure r_GUI_GetLogoSize (out w, h: Integer); + var ww, hh: WORD; begin - w := 0; - h := 0; + ww := 0; + hh := 0; if LogoTex <> 0 then - e_GetTextureSize(LogoTex, @w, @h); + e_GetTextureSize(LogoTex, @ww, @hh); + w := ww; + h := hh; end; procedure r_GUI_Load; @@ -500,8 +521,12 @@ implementation end else begin - if g_Texture_Get(ctrl.ImageRes, ID) then - e_Draw(ID, ctrl.X, ctrl.Y, 0, True, False); + if g_Texture_CreateWADEx(ctrl.ImageRes, ctrl.ImageRes) then + begin + if g_Texture_Get(ctrl.ImageRes, ID) then + e_Draw(ID, ctrl.X, ctrl.Y, 0, True, False); + g_Texture_Delete(ctrl.ImageRes); + end; end; end;