DEADSOFTWARE

render: use only r_render to access render-specific info
[d2df-sdl.git] / src / game / opengl / r_gui.pas
index 3463a9ea100bc06167283342cceed2a9b1ddc622..00fb568b7511e2e74ae01315f3b054acde145321 100644 (file)
@@ -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;