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