SDL_rect.h

Estructura SDL_Point

Una estructura que define un punto en dos dimensiones.

typedef struct SDL_Point
{
    int x;
    int y;
} SDL_Point;

Miembros

x
La coordenada x del punto
y
La coordenada y del punto.

Observaciones

Un SDL_Point define un único punto bidimensional. Se puede utilizar no solo para los puntos, sino también para tamaños. SDL_Point es utilizado por SDL_EnclosePoints() para comprobar si la matriz de puntos está dentro de un rectángulo (SDL_Rect). También se pueden crear funciones propias usando SDL_Point para simplificar el código, es muy útil.

Ejemplo

// Example program:
// Using SDL_Point in some places of your code

#include <SDL.h>
#include <stdio.h>

int main(int argc, char *argv[]) {

    SDL_Window *window;

    SDL_Point window_position = {         //    Position of window
        SDL_WINDOWPOS_CENTERED,
        SDL_WINDOWPOS_CENTERED
    };
    SDL_Point window_size = {640, 480};   //    Size of window

    SDL_Point mouse_position;             //    Mouse position coords

    SDL_Init(SDL_INIT_VIDEO);             //    Initialize SDL2

    // Create an application window with the following settings:
    window = SDL_CreateWindow( 
        "SDL_Point usage",                //    window title
        window_position.x,                //    initial x position
        window_position.y,                //    initial y position
        window_size.x,                    //    width, in pixels
        window_size.y,                    //    height, in pixels
        SDL_WINDOW_OPENGL                 //    flags - see below
    );

    // Check that the window was successfully made
    if (window == NULL) {
        SDL_Log("Could not create window: %s", SDL_GetError());
        return 1;
    }

    SDL_GetMouseState(                    //    Sets mouse_position to...
        &mouse_position.x,                // ...mouse arrow coords on window
        &mouse_position.y
    );

    SDL_Log("Mouse position: x=%i y=%i",  //    Print mouse position
         mouse_position.x, mouse_position.y
    );

    // Close and destroy the window
    SDL_DestroyWindow(window); 

    // Clean up
    SDL_Quit();
    return 0; 
}