windows-api-utils 0.2.0

Windows API utilities for coordinate conversion, bit operations, and message parameter handling with feature gating
Documentation
//! Demo for coordinates feature
//! Run with: cargo run --example coordinates_demo --features coordinates

#![cfg(feature = "coordinates")]

use windows_api_utils::prelude::*;

fn main() {
    println!("=== Coordinates Feature Demo ===");

    let window = Window::new(
        0x12345,
        Rect::new(100, 100, 800, 600),
        WindowStyle::default(),
    );

    let client_point = Point::new(50, 75);
    match window.client_to_screen(client_point) {
        Ok(screen_point) => {
            println!("ClientToScreen: {} -> {}", client_point, screen_point);

            match window.screen_to_client(screen_point) {
                Ok(back_to_client) => {
                    println!("ScreenToClient: {} -> {}", screen_point, back_to_client);
                    println!("Round-trip accurate: {}", client_point == back_to_client);
                }
                Err(e) => println!("Error: {}", e),
            }
        }
        Err(e) => println!("Error: {}", e),
    }

    println!("Window client rect: {:?}", window.client_rect());
    println!(
        "Contains origin: {}",
        window.is_point_in_client(Point::new(0, 0))
    );
}