115560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot/*
215560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot  Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
315560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
415560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot  This software is provided 'as-is', without any express or implied
515560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot  warranty.  In no event will the authors be held liable for any damages
615560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot  arising from the use of this software.
715560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
815560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot  Permission is granted to anyone to use this software for any purpose,
915560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot  including commercial applications, and to alter it and redistribute it
1015560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot  freely.
1115560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot*/
1215560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
1315560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot/* Simple program:  Test relative mouse motion */
1415560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
1515560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot#include <stdlib.h>
1615560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot#include <stdio.h>
1715560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot#include <time.h>
1815560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
1915560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot#include "SDL_test_common.h"
2015560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
2115560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
2215560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robotstatic SDLTest_CommonState *state;
2315560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robotstatic SDL_Rect rect;
2415560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
2515560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robotstatic void
2615560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team RobotDrawRects(SDL_Renderer * renderer)
2715560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot{
2815560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    SDL_SetRenderDrawColor(renderer, 255, 127, 0, 255);
2915560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    SDL_RenderFillRect(renderer,&rect);
3015560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot}
3115560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
3215560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robotint
3315560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robotmain(int argc, char *argv[])
3415560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot{
3515560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    int i, done;
3615560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    SDL_Event event;
3715560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
3815560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot	/* Enable standard application logging */
3915560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);
4015560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
4115560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    /* Initialize test framework */
4215560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO);
4315560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    if (!state) {
4415560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot        return 1;
4515560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    }
4615560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    for (i = 1; i < argc;i++) {
4715560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot        SDLTest_CommonArg(state, i);
4815560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    }
4915560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    if (!SDLTest_CommonInit(state)) {
5015560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot        return 2;
5115560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    }
5215560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
5315560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    /* Create the windows and initialize the renderers */
5415560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    for (i = 0; i < state->num_windows; ++i) {
5515560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot        SDL_Renderer *renderer = state->renderers[i];
5615560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot        SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_NONE);
5715560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot        SDL_SetRenderDrawColor(renderer, 0xA0, 0xA0, 0xA0, 0xFF);
5815560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot        SDL_RenderClear(renderer);
5915560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    }
6015560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
6115560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    srand((unsigned int)time(NULL));
6215560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    if(SDL_SetRelativeMouseMode(SDL_TRUE) < 0) {
6315560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot        return 3;
6415560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    };
6515560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
6615560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    rect.x = DEFAULT_WINDOW_WIDTH / 2;
6715560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    rect.y = DEFAULT_WINDOW_HEIGHT / 2;
6815560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    rect.w = 10;
6915560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    rect.h = 10;
7015560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    /* Main render loop */
7115560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    done = 0;
7215560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    while (!done) {
7315560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot        /* Check for events */
7415560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot        while (SDL_PollEvent(&event)) {
7515560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot            SDLTest_CommonEvent(state, &event, &done);
7615560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot            switch(event.type) {
7715560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot                case SDL_MOUSEMOTION:
7815560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot                {
7915560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot                    rect.x += event.motion.xrel;
8015560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot                    rect.y += event.motion.yrel;
8115560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot                }
8215560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot                break;
8315560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot            }
8415560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot        }
8515560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot        for (i = 0; i < state->num_windows; ++i) {
8615560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot            SDL_Renderer *renderer = state->renderers[i];
8715560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot            if (state->windows[i] == NULL)
8815560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot                continue;
8915560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot            SDL_SetRenderDrawColor(renderer, 0xA0, 0xA0, 0xA0, 0xFF);
9015560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot            SDL_RenderClear(renderer);
9115560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
9215560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot            DrawRects(renderer);
9315560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
9415560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot            SDL_RenderPresent(renderer);
9515560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot        }
9615560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    }
9715560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
9815560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    SDLTest_CommonQuit(state);
9915560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot    return 0;
10015560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot}
10115560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot
10215560bb32cdb9b47db48eb4865b736df9708a8fandroid-build-team Robot/* vi: set ts=4 sw=4 expandtab: */
103