void Mouse::Deinit() { al_destroy_mouse_cursor(_cursor); delete _image; _image = nullptr; al_uninstall_mouse(); }
void ImGui_ImplA5_InvalidateDeviceObjects() { if (g_Texture) { al_destroy_bitmap(g_Texture); ImGui::GetIO().Fonts->TexID = NULL; g_Texture = NULL; } if (g_MouseCursorInvisible) { al_destroy_mouse_cursor(g_MouseCursorInvisible); g_MouseCursorInvisible = NULL; } }
void Mouse::SetImage(Sprite* image, int focusX, int focusY) { if(_image) { al_destroy_mouse_cursor(_cursor); } if(image) { delete _image; _image = nullptr; _image = Sprite::CreateSprite(*image); } else { focusX = 0; focusY = 0; } _focus = Vector2D(focusX, focusY); if(image) { _cursor = al_create_mouse_cursor(_image->GetImage(), _focus.GetX(), _focus.GetY()); } else { al_set_system_mouse_cursor(_parent_display, _cursor_id); } }