| @ -0,0 +1,90 @@ | |||
| /******************************************************************************************* | |||
| * | |||
| * raylib [core] example - Multitouch input | |||
| * | |||
| * This example has been created using raylib 2.1 (www.raylib.com) | |||
| * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) | |||
| * | |||
| * Copyright (c) 2014 Ramon Santamaria (@raysan5) | |||
| * Example by Berni | |||
| * | |||
| ********************************************************************************************/ | |||
| #include "raylib.h" | |||
| #include <stdio.h> | |||
| int main() | |||
| { | |||
| // Initialization | |||
| //-------------------------------------------------------------------------------------- | |||
| int screenWidth = 800; | |||
| int screenHeight = 450; | |||
| InitWindow(screenWidth, screenHeight, "raylib [core] example - multitouch input"); | |||
| Vector2 ballPosition = { -100.0f, -100.0f }; | |||
| Color ballColor; | |||
| int PressedCounter = 0; | |||
| Vector2 TouchPos; | |||
| char Str[16]; | |||
| SetTargetFPS(60); | |||
| //--------------------------------------------------------------------------------------- | |||
| // Main game loop | |||
| while (!WindowShouldClose()) // Detect window close button or ESC key | |||
| { | |||
| // Update | |||
| //---------------------------------------------------------------------------------- | |||
| ballPosition = GetMousePosition(); | |||
| ballColor = BEIGE; | |||
| if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) ballColor = MAROON; | |||
| if (IsMouseButtonDown(MOUSE_MIDDLE_BUTTON)) ballColor = LIME; | |||
| if (IsMouseButtonDown(MOUSE_RIGHT_BUTTON)) ballColor = DARKBLUE; | |||
| if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) PressedCounter = 10; | |||
| if (IsMouseButtonPressed(MOUSE_MIDDLE_BUTTON)) PressedCounter = 10; | |||
| if (IsMouseButtonPressed(MOUSE_RIGHT_BUTTON)) PressedCounter = 10; | |||
| if(PressedCounter > 0) | |||
| PressedCounter--; | |||
| //---------------------------------------------------------------------------------- | |||
| // Draw | |||
| //---------------------------------------------------------------------------------- | |||
| BeginDrawing(); | |||
| ClearBackground(RAYWHITE); | |||
| // Multitouch | |||
| for (int i = 0; i < MAX_TOUCH_POINTS; ++i) | |||
| { | |||
| TouchPos = GetTouchPosition(i); // Get the touch point | |||
| if( (TouchPos.x >= 0) && (TouchPos.y >= 0) ) // Make sure point is not (-1,-1) as this means there is no touch for it | |||
| { | |||
| DrawCircleV(TouchPos, 34, ORANGE); // Draw a circle there | |||
| sprintf(Str,"%d",i); | |||
| DrawText(Str, TouchPos.x - 10, TouchPos.y - 70, 40, BLACK); // Also show its index number | |||
| } | |||
| } | |||
| // Draw the normal mouse location | |||
| DrawCircleV(ballPosition, 30 + (PressedCounter * 3), ballColor); | |||
| DrawText("move ball with mouse and click mouse button to change color", 10, 10, 20, DARKGRAY); | |||
| DrawText("touch the screen at multiple locations to get multiple balls", 10, 30, 20, DARKGRAY); | |||
| EndDrawing(); | |||
| //---------------------------------------------------------------------------------- | |||
| } | |||
| // De-Initialization | |||
| //-------------------------------------------------------------------------------------- | |||
| CloseWindow(); // Close window and OpenGL context | |||
| //-------------------------------------------------------------------------------------- | |||
| return 0; | |||
| } | |||