Ver Fonte

Module Graph updated: added SetAlpha

Artur Efimov há 7 anos atrás
pai
commit
9fb6aa0ee0
3 ficheiros alterados com 11 adições e 2 exclusões
  1. 6 1
      src/Graph.Mod
  2. 4 1
      src/SDL2.Mod
  3. 1 0
      src/SDL2.h0

+ 6 - 1
src/Graph.Mod

@@ -648,6 +648,11 @@ BEGIN
   SDL.BlitScaled(src.surface, a, dest.surface, b)
 END StretchBlit;
 
+PROCEDURE SetAlpha*(bmp: Bitmap; alpha: INTEGER);
+BEGIN
+  IF SDL.SetSurfaceAlphaMod(bmp.surface, CHR(alpha)) = 0 THEN END
+END SetAlpha;
+
 PROCEDURE MaskedBlit*(src, dest: Bitmap; sx, sy, dx, dy, w, h: INTEGER);
 BEGIN
   (*Al.MaskedBlit(src.bmp, dest.bmp, sx, sy, dx, dy, w, h)*)
@@ -1103,7 +1108,7 @@ BEGIN
   RETURN SDL.windowShown IN flags
 END WindowShown;
 
-PROCEDURE GetTicks(): INTEGER;
+PROCEDURE GetTicks*(): INTEGER;
 BEGIN
   RETURN SDL.GetTicks()
 END GetTicks;

+ 4 - 1
src/SDL2.Mod

@@ -293,7 +293,7 @@ TYPE
 
   KeyArray* = POINTER [1] TO ARRAY 1024 OF BOOLEAN;
 
-PROCEDURE -AAIncludeSDL2h0 '#include "SDL2.h0"';
+PROCEDURE -AAIncludeSDL2h0* '#include "SDL2.h0"';
 
 PROCEDURE -Init*(flags: SET): SHORTINT "SDL_Init(flags)";
 PROCEDURE -Quit* "SDL_Quit()";
@@ -433,4 +433,7 @@ PROCEDURE -GetTicks*(): INTEGER "SDL_GetTicks()";
 PROCEDURE -SetWindowFullscreen*(win: Window; flags: SET): INTEGER
     "SDL_SetWindowFullscreen(win, flags)";
 
+PROCEDURE -SetSurfaceAlphaMod*(surface: Surface; alpha: CHAR): INTEGER
+    "SDL_SetSurfaceAlphaMod(surface, alpha)";
+
 END SDL2.

+ 1 - 0
src/SDL2.h0

@@ -66,5 +66,6 @@ extern void SDL_StopTextInput(void);
 extern int SDL_HasEvent(int);
 extern int SDL_HasEvents(int, int);
 extern int SDL_PeepEvents(void *, int, int, int, int);
+extern int SDL_SetSurfaceAlphaMod(void *, UINT8);
 
 #endif