From 3c487c5cd69c53d6fea948643c0a76df03516605 Mon Sep 17 00:00:00 2001 From: Aki Date: Fri, 1 Apr 2022 21:23:39 +0200 Subject: Moved Stars45 to StarsEx --- Stars45/Mouse.cpp | 190 ------------------------------------------------------ 1 file changed, 190 deletions(-) delete mode 100644 Stars45/Mouse.cpp (limited to 'Stars45/Mouse.cpp') diff --git a/Stars45/Mouse.cpp b/Stars45/Mouse.cpp deleted file mode 100644 index c772bc2..0000000 --- a/Stars45/Mouse.cpp +++ /dev/null @@ -1,190 +0,0 @@ -/* Starshatter: The Open Source Project - Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors - Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors - Copyright (c) 1997-2006, Destroyer Studios LLC. - - AUTHOR: John DiCamillo - - - OVERVIEW - ======== - Mouse class -*/ - -#include "Mouse.h" -#include "DataLoader.h" -#include "Window.h" -#include "Screen.h" -#include "Bitmap.h" -#include "Video.h" - -// +--------------------------------------------------------------------+ - -int Mouse::show = 1; -int Mouse::cursor = Mouse::ARROW; - -int Mouse::x = 320; -int Mouse::y = 240; -int Mouse::l = 0; -int Mouse::m = 0; -int Mouse::r = 0; -int Mouse::w = 0; - -Bitmap* Mouse::image[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; -int Mouse::hotspot[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; -Window* Mouse::window = 0; - -// +--------------------------------------------------------------------+ - -void Mouse::Create(Screen* screen) -{ - if (screen) { - delete window; - window = new Window(screen, 0, 0, screen->Width(), screen->Height()); - } -} - -// +--------------------------------------------------------------------+ - -void Mouse::Resize(Screen* screen) -{ - if (screen) { - delete window; - window = new Window(screen, 0, 0, screen->Width(), screen->Height()); - } -} - -// +--------------------------------------------------------------------+ - -void Mouse::Close() -{ - for (int i = 0; i < 8; i++) { - delete image[i]; - image[i] = 0; - } - - delete window; - window = 0; - - show = 0; - cursor = ARROW; -} - -// +--------------------------------------------------------------------+ - -void -Mouse::SetCursorPos(int ax, int ay) -{ - POINT p; - int dx = 0; - int dy = 0; - - ::GetCursorPos(&p); - - dx = p.x - x; - dy = p.y - y; - - x = ax; - y = ay; - - ::SetCursorPos(x+dx,y+dy); -} - -// +--------------------------------------------------------------------+ - -int -Mouse::SetCursor(CURSOR c) -{ - int old = cursor; - cursor = c; - return old; -} - -// +--------------------------------------------------------------------+ - -int -Mouse::LoadCursor(CURSOR c, const char* name, HOTSPOT hs) -{ - int result = 0; - - delete image[c]; - image[c] = 0; - - if (name && *name) { - image[c] = new Bitmap; - result = DataLoader::GetLoader()->LoadBitmap(name, *image[c], Bitmap::BMP_TRANSPARENT); - - if (result) { - Bitmap* bmp = image[c]; - - if (bmp && bmp->HiPixels()) - image[c]->CopyAlphaRedChannel(image[c]->Width(), image[c]->Height(), (LPDWORD) image[c]->HiPixels()); - - hotspot[c] = hs; - } - } - - return result; -} - -// +--------------------------------------------------------------------+ - -void -Mouse::Show(int s) -{ - show = s; -} - -// +--------------------------------------------------------------------+ - -void -Mouse::Paint() -{ - if (!show || !window) return; - - // draw using bitmap: - if (image[cursor]) { - int w2 = image[cursor]->Width()/2; - int h2 = image[cursor]->Height()/2; - - if (hotspot[cursor] == HOTSPOT_NW) - window->DrawBitmap(x, y, x+w2*2, y+h2*2, image[cursor], Video::BLEND_ALPHA); - else - window->DrawBitmap(x-w2, y-h2, x+w2, y+h2, image[cursor], Video::BLEND_ALPHA); - } - - // draw using primitives: - /*** -else { - switch (cursor) { - case ARROW: - case CROSS: - case USER1: - case USER2: - case USER3: - default: - window->DrawLine(x-7, y, x+8, y, Color::White); - window->DrawLine(x, y-7, x, y+8, Color::White); - break; - - case WAIT: - window->DrawLine(x-7, y-7, x+8, y-7, Color::White); - window->DrawLine(x-7, y-7, x+8, y+8, Color::White); - window->DrawLine(x-7, y+8, x+8, y-7, Color::White); - window->DrawLine(x-7, y+8, x+8, y+8, Color::White); - break; - - case NOT: - window->DrawEllipse(x-7,y-7,x+8,y+8, Color::White); - window->DrawLine( x-7,y-7,x+8,y+8, Color::White); - break; - - case DRAG: - window->DrawRect(x-7, y-6, x+8, y-3, Color::White); - window->DrawRect(x-7, y-1, x+8, y+2, Color::White); - window->DrawRect(x-7, y+4, x+8, y+7, Color::White); - break; - } -} -***/ -} -- cgit v1.1