প্রকল্প সম্পর্কে

egui (উচ্চারণ "ই-গুই") হল Rust-এর জন্য একটি সহজ, দ্রুত এবং অত্যন্ত বহনযোগ্য ইমিডিয়েট মোড GUI লাইব্রেরি। এটি ওয়েব, নেটিভ এবং গেম ইঞ্জিনে সংহত করা যায়। লাইব্রেরিটি Rust-এর সবচেয়ে সহজে ব্যবহারযোগ্য GUI লাইব্রেরি হওয়ার জন্য ডিজাইন করা হয়েছে, যেখানে সরলতা, প্রতিক্রিয়াশীলতা এবং বহনযোগ্যতার উপর জোর দেওয়া হয়েছে। মূল বৈশিষ্ট্যগুলির মধ্যে রয়েছে: - **উইজেট**: লেবেল, বাটন, স্লাইডার, টেক্সট এডিটিং, কালার পিকার এবং আরও অনেক কিছু। - **লেআউট**: অনুভূমিক, উল্লম্ব, কলাম এবং স্বয়ংক্রিয় র‍্যাপিং। - **টেক্সট এডিটিং**: মাল্টিলাইন, কপি/পেস্ট, আনডু এবং ইমোজি সমর্থন। - **উইন্ডো**: সরানো, আকার পরিবর্তন, ছোট করা এবং বন্ধ করা, স্বয়ংক্রিয় আকার এবং অবস্থান সহ। - **অঞ্চল**: আকার পরিবর্তন, স্ক্রলিং, সংকোচনযোগ্য হেডার এবং প্যানেল। - **রেন্ডারিং**: অ্যান্টি-অ্যালিয়াসড লাইন, বৃত্ত, টেক্সট এবং উত্তল বহুভুজ। - **অ্যাক্সেসিবিলিটি**: স্ক্রিন রিডারের জন্য ঐচ্ছিক AccessKit সমর্থন। - **কাস্টমাইজেশন**: `Context::set_style` এর মাধ্যমে রঙ, স্পেসিং, ফন্ট এবং আকার। এটি একটি ইমিডিয়েট মোড প্যারাডাইম ব্যবহার করে, যেখানে UI প্রতিটি ফ্রেমে পুনর্নির্মিত হয়, যা কলব্যাক এবং স্টেট সিঙ্ক্রোনাইজেশন সমস্যা দূর করে কোডকে সহজ করে। এই পদ্ধতিটি ব্যবহার করা সহজ করে তোলে তবে জটিল লেআউটের জন্য কম শক্তিশালী হতে পারে। অফিসিয়াল ইন্টিগ্রেশনের মধ্যে রয়েছে ওয়েব এবং নেটিভ অ্যাপের জন্য `eframe`, OpenGL রেন্ডারিংয়ের জন্য `egui_glow`, WebGPU-এর জন্য `egui-wgpu` এবং উইন্ডো করার জন্য `egui-winit`। Bevy-এর মতো গেম ইঞ্জিনের জন্য তৃতীয়-পক্ষের ইন্টিগ্রেশন উপলব্ধ। ডেভেলপারদের জন্য, egui Rust-এ সহজ GUI তৈরি বা গেম ইঞ্জিনে GUI যোগ করার জন্য আদর্শ। এটি একটি ফ্রেমওয়ার্ক নয় বরং একটি লাইব্রেরি যা আপনি কল করেন এবং এটি নেটিভ-সদৃশ ইন্টারফেস বা জটিল রিটেইনড-মোড অ্যাপ্লিকেশনের জন্য তৈরি নয়।