// Run with: aspl run docs/examples/raylib/window-input.mixed.aspl // Type text, click or scroll to change color. Resize to print new dimensions. // Escape requests close. The demo also stops after 180 frames. استورد أساسي::رايليب; دالة ابدأ_الرئيسية() -> ص64 { دع flags = رايليب::اضبط_أعلام_الإعداد(رايليب::علم_نافذة_قابلة_للتحجيم); دع pacing = رايليب::اضبط_معدل_الإطارات(60); إذا لا flags::نجاح أو لا pacing::نجاح { أرجع 1; } دع opened = رايليب::هيئ_نافذة(640, 360, "ASPL input / إدخال رايليب"); إذا لا opened::نجاح { اطبع(opened::error::الرسالة); أرجع 2; } دع exit_key = رايليب::اضبط_مفتاح_الخروج(رايليب::مفتاح_هروب); إذا لا exit_key::نجاح { اطبع(exit_key::error::الرسالة); أرجع 3; } متغير frame: ص64 = 0; متغير color = رايليب::أزرق_سماوي; طالما frame < 180 { دع closing = رايليب::هل_يجب_إغلاق_النافذة(); إذا لا closing::نجاح { اطبع(closing::error::الرسالة); أرجع 4; } إذا closing::قيمة { أرجع 0; } دع clicked = رايليب::هل_ضغط_زر_الفأرة(رايليب::زر_فأرة_أيسر); دع pressed = رايليب::هل_ضغط_المفتاح(رايليب::مفتاح_مسافة); دع wheel = رايليب::حركة_عجلة_الفأرة(); إذا لا clicked::نجاح أو لا pressed::نجاح أو لا wheel::نجاح { أرجع 5; } إذا clicked::قيمة أو pressed::قيمة أو wheel::قيمة لا يطابق 0.0 { color = رايليب::عنابي; } دع typed = رايليب::المحرف_المدخل(); دع key = رايليب::المفتاح_المضغوط(); إذا لا typed::نجاح أو لا key::نجاح { أرجع 6; } إذا typed::قيمة لا يطابق 0 { color = رايليب::أخضر_داكن; اطبع("Unicode / محرف: "); اطبع(نسق_ص64(ص64(typed::قيمة))); اطبع("\n"); } دع resized = رايليب::هل_تغير_حجم_النافذة(); إذا لا resized::نجاح { أرجع 7; } إذا resized::قيمة أو frame يطابق 0 { دع width = رايليب::عرض_الشاشة(); دع height = رايليب::ارتفاع_الشاشة(); دع render_width = رايليب::عرض_التصيير(); دع render_height = رايليب::ارتفاع_التصيير(); إذا لا width::نجاح أو لا height::نجاح أو لا render_width::نجاح أو لا render_height::نجاح { أرجع 8; } اطبع("Screen / شاشة: "); اطبع(نسق_ص64(ص64(width::قيمة))); اطبع("x"); اطبع(نسق_ص64(ص64(height::قيمة))); اطبع(" render="); اطبع(نسق_ص64(ص64(render_width::قيمة))); اطبع("x"); اطبع(نسق_ص64(ص64(render_height::قيمة))); اطبع("\n"); } دع begun = رايليب::ابدأ_الرسم(); إذا لا begun::نجاح { اطبع(begun::error::الرسالة); أرجع 9; } // Sampled observations also work in an open drawing frame. دع position = رايليب::موضع_الفأرة(); دع delta = رايليب::تغير_موضع_الفأرة(); إذا لا position::نجاح أو لا delta::نجاح { أرجع 10; } دع cleared = رايليب::امسح_الخلفية(color); إذا لا cleared::نجاح { اطبع(cleared::error::الرسالة); أرجع 11; } دع ended = رايليب::أنه_الرسم(); إذا لا ended::نجاح { اطبع(ended::error::الرسالة); أرجع 12; } frame = frame + 1; } دع closed = رايليب::أغلق_النافذة(); إذا لا closed::نجاح { اطبع(closed::error::الرسالة); أرجع 13; } أرجع 0; }