Project

General

Profile

Feature #880 ยป 0041-sdl3-Update-get_pixel-get_first_pixel-to-sdl3-change.patch

Marko Lindqvist, 09/19/2024 04:34 PM

View differences:

client/gui-sdl3/graphics.c
Return the pixel value at (x, y)
NOTE: The surface must be locked before calling this!
**************************************************************************/
Uint32 getpixel(SDL_Surface *surf, Sint16 x, Sint16 y)
Uint32 get_pixel(SDL_Surface *surf, Sint16 x, Sint16 y)
{
if (!surf) {
return 0x0;
}
switch (surf->format->bytes_per_pixel) {
switch (SDL_GetPixelFormatDetails(surf->format)->bytes_per_pixel) {
case 1:
return *(Uint8 *) ((Uint8 *) surf->pixels + y * surf->pitch + x);
......
return 0;
}
switch (surf->format->bytes_per_pixel) {
switch (SDL_GetPixelFormatDetails(surf->format)->bytes_per_pixel) {
case 1:
return *((Uint8 *)surf->pixels);
......
return *((Uint32 *)surf->pixels);
default:
return 0; /* shouldn't happen, but avoids warnings */
return 0; /* Shouldn't happen, but avoids warnings */
}
}
client/gui-sdl3/graphics.h
int blit_entire_src(SDL_Surface *psrc,
SDL_Surface *pdest, Sint16 dest_x, Sint16 dest_y);
Uint32 getpixel(SDL_Surface *surf, Sint16 x, Sint16 y);
Uint32 get_pixel(SDL_Surface *surf, Sint16 x, Sint16 y);
Uint32 get_first_pixel(SDL_Surface *surf);
void create_frame(SDL_Surface *dest, Sint16 left, Sint16 top,
client/gui-sdl3/gui_mouse.c
d = data + y * w;
m = mask + y * w;
for (x = 0; x < image->w; x++) {
color = getpixel(image, x, y);
color = get_pixel(image, x, y);
SDL_GetRGBA(color, details, NULL,
&r, &g, &b, &a);
if (a != 0) {
client/gui-sdl3/widget_label.c
SDL_FillSurfaceRect(ptheme, &area,
map_rgba_details(details, bg_color));
store = pstr->bgcol;
SDL_GetRGBA(getpixel(ptheme, area.x , area.y),
SDL_GetRGBA(get_pixel(ptheme, area.x , area.y),
details, NULL,
&pstr->bgcol.r, &pstr->bgcol.g,
&pstr->bgcol.b, &pstr->bgcol.a);
......
SDL_FillSurfaceRect(ptheme, &area,
map_rgba_details(details, bg_color));
store = icon_label->string_utf8->bgcol;
SDL_GetRGBA(getpixel(ptheme, area.x , area.y),
SDL_GetRGBA(get_pixel(ptheme, area.x , area.y),
details, NULL,
&icon_label->string_utf8->bgcol.r,
&icon_label->string_utf8->bgcol.g,
    (1-1/1)