diff options
Diffstat (limited to 'test2.c')
-rw-r--r-- | test2.c | 59 |
1 files changed, 59 insertions, 0 deletions
@@ -0,0 +1,59 @@ +#include <stdio.h> +#include <stdlib.h> +#include <math.h> +#include <SDL2/SDL.h> +#include <SDL2/SDL_image.h> +#include <SDL2/SDL_timer.h> + +Uint32 mixSDLColors(Uint32 back, Uint32 front, SDL_PixelFormat *fmt, float alpha) +{ + Uint32 ch1, ch2, sum = 0; + // mask = fmt->Rmask; + ch1 = back & fmt->Rmask; + ch2 = front & fmt->Rmask; + // sum += ch2; + sum += (ch1 + ch2) >> 1; + printf("%i", sum); + + ch1 = back & fmt->Gmask; + ch2 = front & fmt->Gmask; + // sum += ch2; + sum += (ch1 + ch2) >> 1; + printf("%i", sum); + + ch1 = back & fmt->Bmask; + ch2 = front & fmt->Bmask; + // sum += ch2; + sum += (ch1 + ch2) >> 1; + printf("%i", sum); + + return sum; +} + +int main(){ + SDL_Window *window = NULL; + SDL_Surface *s = NULL; + // SDL_Renderer *renderer = NULL; + + SDL_Init(SDL_INIT_VIDEO); + + window = SDL_CreateWindow("test", + SDL_WINDOWPOS_UNDEFINED, + SDL_WINDOWPOS_UNDEFINED, + 960, + 512, + 0); + s = SDL_GetWindowSurface(window); + + Uint32 a = 0; // 0x000000 + Uint32 b = pow(2, 24) - 1; // 0xffffff + printf("0x808080 = %i", mixSDLColors(a, b, s->format, 0)); + + // renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); + // SDL_Texture *sky = NULL; + // sky = IMG_LoadTexture(renderer, "/home/pupkich/Gameproj/textures/toxicclouds512.bmp"); + // SDL_RenderCopy(renderer, sky, NULL, NULL); + // SDL_RenderPresent(renderer); + // SDL_DestroyTexture(sky); + // SDL_Delay(200); +}
\ No newline at end of file |