منصوبے کے بارے میں

egui (تلفظ "e-gooey") رسٹ کے لیے ایک سادہ، تیز اور انتہائی پورٹیبل immediate mode GUI لائبریری ہے۔ یہ ویب پر اور مقامی طور پر چلتی ہے اور اسے گیم انجنوں میں مربوط کیا جا سکتا ہے۔ لائبریری کو سادگی، ردعمل اور پورٹیبلٹی پر توجہ کے ساتھ رسٹ کی سب سے زیادہ استعمال میں آسان GUI لائبریری بنانے کے لیے ڈیزائن کیا گیا ہے۔ اہم خصوصیات میں شامل ہیں: - وجیٹس: لیبل، بٹن، سلائیڈر، ٹیکسٹ ایڈیٹنگ، کلر پکرز اور بہت کچھ۔ - لے آؤٹس: افقی، عمودی، کالم اور خودکار لپیٹنا۔ - ٹیکسٹ ایڈیٹنگ: کثیر سطری، کاپی/پیسٹ، انڈو اور ایموجی سپورٹ۔ - ونڈوز: خودکار سائز اور پوزیشننگ کے ساتھ منتقل کرنا، سائز تبدیل کرنا، کم سے کم کرنا اور بند کرنا۔ - علاقے: سائز تبدیل کرنا، اسکرول کرنا، سکڑنے والے ہیڈرز اور پینلز۔ - رینڈرنگ: اینٹی ایلیزڈ لائنیں، دائرے، متن اور محدب کثیر الاضلاع۔ - رسائی: اسکرین ریڈرز کے لیے اختیاری AccessKit سپورٹ۔ - تخصیص: `Context::set_style` کے ذریعے رنگ، اسپیسنگ، فونٹس اور سائزز۔ یہ immediate mode پیراڈائم استعمال کرتی ہے، جس میں UI کو ہر فریم پر دوبارہ بنایا جاتا ہے، جس سے کال بیکس اور اسٹیٹ سنکرونائزیشن کے مسائل ختم ہو کر کوڈ آسان ہو جاتا ہے۔ یہ طریقہ استعمال میں آسان ہے لیکن پیچیدہ لے آؤٹس کے لیے کم طاقتور ہو سکتا ہے۔ سرکاری انضمام میں ویب اور مقامی ایپس کے لیے `eframe`، OpenGL رینڈرنگ کے لیے `egui_glow`، WebGPU کے لیے `egui-wgpu` اور ونڈونگ کے لیے `egui-winit` شامل ہیں۔ Bevy جیسے گیم انجنوں کے لیے فریق ثالث انضمام دستیاب ہیں۔ ڈویلپرز کے لیے egui رسٹ میں سادہ GUIs بنانے یا گیم انجن میں GUI شامل کرنے کے لیے مثالی ہے۔ یہ فریم ورک نہیں بلکہ ایک لائبریری ہے جسے آپ کال کرتے ہیں، اور یہ مقامی نظر آنے والے انٹرفیسز یا پیچیدہ retained-mode ایپلی کیشنز کے لیے نہیں بنائی گئی۔