added fire circle cursor
@@ -1,20 +1,95 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "white",
|
"name": "white",
|
||||||
|
"frames": [
|
||||||
"frames": ["icon.png"],
|
"icon.png"
|
||||||
|
],
|
||||||
"animation_speed": 0.0,
|
"animation_speed": 0.0,
|
||||||
"particles": []
|
"particles": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "red",
|
"name": "red",
|
||||||
"frames": ["red.png"],
|
"frames": [
|
||||||
|
"red.png"
|
||||||
|
],
|
||||||
"animation_speed": 0.0,
|
"animation_speed": 0.0,
|
||||||
"particles": []
|
"particles": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flashing",
|
"name": "flashing",
|
||||||
"frames": ["red.png", "icon.png"],
|
"frames": [
|
||||||
|
"red.png",
|
||||||
|
"icon.png"
|
||||||
|
],
|
||||||
|
"animation_speed": 30.0,
|
||||||
|
"particles": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fire circle",
|
||||||
|
"source": "https://opengameart.org/content/fire-circle-fx",
|
||||||
|
"frames": [
|
||||||
|
"fire_circle_0000.png",
|
||||||
|
"fire_circle_0001.png",
|
||||||
|
"fire_circle_0002.png",
|
||||||
|
"fire_circle_0003.png",
|
||||||
|
"fire_circle_0004.png",
|
||||||
|
"fire_circle_0005.png",
|
||||||
|
"fire_circle_0006.png",
|
||||||
|
"fire_circle_0007.png",
|
||||||
|
"fire_circle_0008.png",
|
||||||
|
"fire_circle_0009.png",
|
||||||
|
"fire_circle_0010.png",
|
||||||
|
"fire_circle_0011.png",
|
||||||
|
"fire_circle_0012.png",
|
||||||
|
"fire_circle_0013.png",
|
||||||
|
"fire_circle_0014.png",
|
||||||
|
"fire_circle_0015.png",
|
||||||
|
"fire_circle_0016.png",
|
||||||
|
"fire_circle_0017.png",
|
||||||
|
"fire_circle_0018.png",
|
||||||
|
"fire_circle_0019.png",
|
||||||
|
"fire_circle_0020.png",
|
||||||
|
"fire_circle_0021.png",
|
||||||
|
"fire_circle_0022.png",
|
||||||
|
"fire_circle_0023.png",
|
||||||
|
"fire_circle_0024.png",
|
||||||
|
"fire_circle_0025.png",
|
||||||
|
"fire_circle_0026.png",
|
||||||
|
"fire_circle_0027.png",
|
||||||
|
"fire_circle_0028.png",
|
||||||
|
"fire_circle_0029.png",
|
||||||
|
"fire_circle_0030.png",
|
||||||
|
"fire_circle_0031.png",
|
||||||
|
"fire_circle_0032.png",
|
||||||
|
"fire_circle_0033.png",
|
||||||
|
"fire_circle_0034.png",
|
||||||
|
"fire_circle_0035.png",
|
||||||
|
"fire_circle_0036.png",
|
||||||
|
"fire_circle_0037.png",
|
||||||
|
"fire_circle_0038.png",
|
||||||
|
"fire_circle_0039.png",
|
||||||
|
"fire_circle_0040.png",
|
||||||
|
"fire_circle_0041.png",
|
||||||
|
"fire_circle_0042.png",
|
||||||
|
"fire_circle_0043.png",
|
||||||
|
"fire_circle_0044.png",
|
||||||
|
"fire_circle_0045.png",
|
||||||
|
"fire_circle_0046.png",
|
||||||
|
"fire_circle_0047.png",
|
||||||
|
"fire_circle_0048.png",
|
||||||
|
"fire_circle_0049.png",
|
||||||
|
"fire_circle_0050.png",
|
||||||
|
"fire_circle_0051.png",
|
||||||
|
"fire_circle_0052.png",
|
||||||
|
"fire_circle_0053.png",
|
||||||
|
"fire_circle_0054.png",
|
||||||
|
"fire_circle_0055.png",
|
||||||
|
"fire_circle_0056.png",
|
||||||
|
"fire_circle_0057.png",
|
||||||
|
"fire_circle_0058.png",
|
||||||
|
"fire_circle_0059.png",
|
||||||
|
"fire_circle_0060.png"
|
||||||
|
],
|
||||||
"animation_speed": 30.0,
|
"animation_speed": 30.0,
|
||||||
"particles": []
|
"particles": []
|
||||||
}
|
}
|
||||||
|
|||||||
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
@@ -43,7 +43,6 @@ pub fn initialize() -> Result<()> {
|
|||||||
|
|
||||||
// Cross-platform implementation for setting cursor
|
// Cross-platform implementation for setting cursor
|
||||||
pub fn set_system_cursor(image: &RgbaImage) -> Result<()> {
|
pub fn set_system_cursor(image: &RgbaImage) -> Result<()> {
|
||||||
println!("Setting system cursor");
|
|
||||||
set_cursor(image)
|
set_cursor(image)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -462,7 +462,6 @@ pub fn hide_system_cursor() -> bool {
|
|||||||
|
|
||||||
// Update the cursor image using CursorInfo (with caching)
|
// Update the cursor image using CursorInfo (with caching)
|
||||||
pub fn update_cursor_info(image: &RgbaImage) -> bool {
|
pub fn update_cursor_info(image: &RgbaImage) -> bool {
|
||||||
println!("Updating cursor");
|
|
||||||
|
|
||||||
// Store the image in the global state for reference
|
// Store the image in the global state for reference
|
||||||
if let Some(mut guard) = safe_lock(&CURRENT_CURSOR_IMAGE, "storing cursor image") {
|
if let Some(mut guard) = safe_lock(&CURRENT_CURSOR_IMAGE, "storing cursor image") {
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ use anyhow::{anyhow, Result};
|
|||||||
|
|
||||||
// Functions expected by the platform-agnostic interface
|
// Functions expected by the platform-agnostic interface
|
||||||
pub fn set_cursor(image: &RgbaImage) -> Result<()> {
|
pub fn set_cursor(image: &RgbaImage) -> Result<()> {
|
||||||
println!("Windows platform: setting cursor");
|
|
||||||
|
|
||||||
// Use the existing update_cursor_info function to handle loading and applying the cursor
|
// Use the existing update_cursor_info function to handle loading and applying the cursor
|
||||||
if !cursor::update_cursor_info(image) {
|
if !cursor::update_cursor_info(image) {
|
||||||
|
|||||||