GDK
جی ڈی کے (جی آئی ایم پی ڈرائنگ کٹ) ایک لائبریری ہے جو بنیادی ونڈو اور گرافکس سسٹمز کے ذریعہ فراہم کردہ نچلی سطح کے افعال کے ارد گرد ایک ریپر کے طور پر کام کرتی ہے۔ جی ڈی کے ڈسپلے سرور اور جی ٹی کے لائبریری کے درمیان واقع ہے، جو بنیادی رینڈرنگ جیسے ڈرائنگ پرائمیٹوز، رسٹر گرافکس (بٹ میپس)، کرسرز، فونٹس کے ساتھ ساتھ ونڈو ایونٹس اور ڈریگ اینڈ ڈراپ فنکشنلٹی کو سنبھالتا ہے۔ جی ٹی کے سین گراف کٹ (جی ایس کے) کی طرح، جی ڈی کے جی ٹی کے کا حصہ ہے اور جی این یو لیسر جنرل پبلک لائسنس (ایل جی پی ایل) کے تحت لائسنس یافتہ ہے۔ سافٹ ویئر آرکیٹیکچر جی ٹی کے کو جی ڈی کے نامی ایک تجریدی پرت کے اوپر لاگو کیا جاتا ہے، جو جی ٹی کے کو ان پٹ جمع کرنے، ڈریگ اینڈ ڈراپ اور پکسل فارمیٹ کے تبادلے جیسے نچلے درجے کے خدشات سے آزاد کرتا ہے۔ جی ڈی کے ایک درمیانی پرت ہے جو جی ٹی کے کو ونڈو سسٹم کی تفصیلات سے الگ کرتی ہے۔ جی ڈی کے جی ٹی کے کی پورٹیبلٹی کا ایک اہم حصہ ہے۔ چونکہ نچلے درجے کی کراس پلیٹ فارم کی فعالیت پہلے ہی جی ایل آئی بی کے ذریعہ فراہم کی جاتی ہے، اس لیے جی ٹی کے کو دوسرے پلیٹ فارمز پر چلانے کے لیے جی ڈی کے کو بنیادی آپریٹنگ سسٹم کی گرافکس پرت میں پورٹ کرنا ضروری ہے۔ لہذا، ونڈوز اے پی آئی اور کوارٹز کے لیے جی ڈی کے بندرگاہیں وہ ہیں جو جی ٹی کے ایپلی کیشنز کو بالترتیب ونڈوز اور میک او ایس پر چلانے کے قابل بناتی ہیں۔ جی ٹی کے + 2.8 سے شروع کرتے ہوئے، جی ڈی کے قاہرہ کی حمایت کرتا ہے جسے جی ڈی کے کے ڈرائنگ افعال کے بجائے جی ٹی کے + 3 کے ساتھ استعمال کیا جانا چاہیے۔ جی ڈی کے ایک درمیانی پرت ہے جو جی ٹی کے کو ونڈو سسٹم کی تفصیلات سے الگ کرتی ہے۔ جی ڈی کے ایکسلب کے ارد گرد ایک پتلی لپیٹ ہے۔ ایکس ونڈو سسٹم ایک نچلی سطح کی لائبریری کے ساتھ آتا ہے جسے ایکسلیب کہا جاتا ہے۔ جی ڈی کے میں تقریبا ہر فنکشن ایک متعلقہ ایکسلب فنکشن کے ارد گرد ایک بہت ہی پتلی لپیٹ ہے۔ لیکن ایکسلب کی کچھ پیچیدگی (اور فعالیت) چھپی ہوئی ہے، تاکہ پروگرامنگ کو آسان بنایا جا سکے اور جی ڈی کے کو دوسرے ونڈو سسٹم، جیسے ویلینڈ یا مائیکروسافٹ ونڈوز میں پورٹ کرنا آسان بنایا جا سکے۔ پوشیدہ ایکسلیب فعالیت شاذ و نادر ہی ایپلیکیشن پروگرامرز کے لیے دلچسپی کا باعث ہوگی۔ مثال کے طور پر، بہت سی خصوصیات جو صرف ونڈو مینیجرز کے ذریعے استعمال کی جاتی ہیں، جی ڈی کے میں بے نقاب نہیں ہوتی ہیں۔ جی ڈی کے آپ کو نچلی سطح کی چیزیں کرنے دیتا ہے، جیسے۔ "اس پکسمپ کو اسکرین پر پلٹ دیں۔" جی ڈی کے ایک ایسی پرت فراہم کرتا ہے جو ایکس پروٹوکول کے مقابلے میں بہت زیادہ پورٹیبل ہے، بغیر کسی نچلی سطح کی رسائی کی قربانی کے جو ایکس جیسے نظام فراہم کرتے ہیں۔ اس تجریدی کی اصل طاقت یہ ہے کہ اگر آپ اسے X کہنے کے بجائے استعمال کرنے کا انتخاب کرتے ہیں، تو آپ کا سافٹ ویئر خود بخود لینکس فریم بفر اور ونڈوز پر پیش ہو جائے گا۔ جی ڈی کے میں اوپن جی ایل (یا اوپن جی ایل ای ایس) سپورٹ ہونے سے گرافکس پائپ لائن کے قدرے بہتر کنٹرول میں سہولت ملتی ہے۔ اوپن جی ایل بناوٹ والے ڈیٹا کو کمپوز کرنے کے لیے اچھی طرح سے موزوں ہے لیکن ڈرائنگ کے لیے مکمل طور پر غیر موزوں ہے۔ جی ڈی کے فریم کلاک جی ڈی کے فریم کلاک کو جی ٹی کے 3.8 میں شامل کیا گیا تھا جبکہ جی ٹی کے ایپلی کیشنز مین لوپ پر مبنی رہتی ہیں (سی ایف۔ گلب ایونٹ لوپ)، جس کا مطلب ہے کہ ایپلیکیشن زیادہ تر وقت اس مرکزی لوپ کے اندر بیکار رہتی ہے اور صرف کچھ ہونے کا انتظار کرتی ہے اور پھر جب ایسا ہوتا ہے تو مناسب سبروٹین کو کال کرتی ہے، جی ڈی کے فریم کلاک ایک اضافی میکانزم شامل کرتا ہے، جو ایپلیکیشن کو "پلس" دیتا ہے۔ یہ ایپلیکیشن کو بتاتا ہے کہ ونڈو کو کب اپ ڈیٹ اور دوبارہ پینٹ کرنا ہے۔ بیٹ ریٹ کو مانیٹر ریفریش ریٹ کے ساتھ ہم آہنگ کیا جا سکتا ہے۔ جی ٹی کے سین گراف کٹ اپنی تاریخ میں جی ڈی کے میں کچھ مختلف کینوس موجود ہیں اور ان سے منسلک ہیں۔ https://wiki.gnome.org/Attic/ProjectRidley/CanvasOverview https://wiki.gnome.org/Attic/ProjectRidley/CanvasOverview/Canvases https://wiki.gnome.org/Projects/GooCanvas ڈویلپرز لائبریری کے لیے نئی ہدایات پر بھی غور کر رہے تھے، بشمول فرسودہ API اجزاء کو ہٹانا اور کلاٹر گرافکس لائبریری کی طرح ایک مربوط سین گراف (کینوس) سسٹم شامل کرنا، مؤثر طریقے سے GTK کو اوپن جی ایل اور ولکن کے ساتھ مربوط کرنا۔ جی ٹی کے سین گراف کٹ (جی ایس کے) جی ٹی کے + سین گراف کٹ (جی ایس کے) کو مارچ 2017 میں جی ٹی کے + 3.90 کے حصے کے طور پر جاری کیا گیا تھا۔ یہ جی ٹی کے کے لیے سین گراف اور رینڈرنگ اے پی آئی ہے۔ جی ایس کے کو جی ڈی کے (جو جی ٹی کے کا بھی حصہ ہے) کے ساتھ مزید مربوط نہیں کیا گیا ہے لیکن اسے اپنی ڈائرکٹری میں رکھا گیا ہے۔ ونڈوئنگ سسٹم جی ڈی کے میں کچھ ونڈوئنگ سسٹمز کے بیک اینڈ ہوتے ہیں، یعنی ایکس 11 اور ویلینڈ پروٹوکول، کوارٹز اور جی ڈی آئی، اور یہاں تک کہ ہائپر ٹیکسٹ ٹرانسفر پروٹوکول (ایچ ٹی ٹی پی) انجن براڈوے تک۔ مارچ 2015 میں GNOME 3.16 کی ریلیز کے ساتھ، GDK نے میر ڈسپلے سرور پروٹوکول کے لیے ایک تجرباتی بیک اینڈ حاصل کیا۔ میر ڈسپلے سرور پروٹوکول کینونکل کی طرف سے لینکس کی اوبنٹو تقسیم کے لیے ایک پروڈکٹ ہے، جس کا وہ ویلینڈ ڈسپلے سرور پروٹوکول کے ساتھ مقابلہ کرنے کا ارادہ رکھتے ہیں۔ اب تک، یہ صرف اوبنٹو میں لاگو ہوتا ہے۔ فی الحال کے ایم ایس کے لیے کوئی بیک اینڈ موجود نہیں ہے۔ کسی ایپلیکیشن کو شروع کرنے اور اس کی اس مثال کو کسی مخصوص ونڈو سسٹم کو استعمال کرنے پر مجبور کرنے کے لیے، آپ متغیر GDK _ BACKEND کی وضاحت کرتے ہیں: GDK _ BACKEND = Wayland gnome-Calculator GDK _ BACKEND = Wayland CLUTTER _ BACKEND = Wayland Cheese gdk-Pixbuf gdk-Pixbuf تصویر کو لوڈ کرنے اور پکسل بفر ہیرا پھیری کے لیے ایک ٹول کٹ ہے۔ لائبریری امیج لوڈنگ اور بچت کی سہولیات، تیز تر اسکیلنگ اور پیکس بفس کی کمپوزٹنگ، سادہ اینیمیشن لوڈنگ (یعنی۔ متحرک جی آئی ایف)، اور لیبارٹ امیج بفر کو جی ڈی کے ڈرایبل مثال میں پیش کرنا۔ جی ڈی کے-پکسبف میں کافی بڑا اے پی آئی ہے۔ جی ڈی کے-پکز بوف لائبریری میں بنیادی ڈھانچہ جی ڈی کے پکز بوف ہے، جو ایک نجی، غیر واضح ڈیٹا ڈھانچہ ہے جو بہت سے ایسے تصورات کی عکاسی کرتا ہے جن کی آرٹ پکز بوف حمایت کرتا ہے۔ در حقیقت، GdkPixbuf کے زیادہ تر نجی ڈیٹا فیلڈز میں وہی نام اور ڈیٹا ٹائپز ہیں جو ArtPixBuf میں متعلقہ ہیں۔ یہ مماثلت ابتدائی دنوں کی ہے جب جی ڈی کے-پکسبف لبارٹ کے ارد گرد ایک لفافہ تھا۔ اس وقت سے، لبارٹ انحصار کو ختم کر دیا گیا ہے، اور جی ڈی کے-پکسبف کو جی ٹی کے + 2 کوڈ بیس میں ضم کر دیا گیا ہے۔ اس طرح، ایک اسٹینڈ لون لائبریری کے طور پر جی ڈی کے-پکسبف کے دن GNOME 1 ریلیز تک محدود ہیں۔ جی ٹی کے + 2 کے بعد سے جی ٹی کے + 2 کے حصے کے طور پر بھیجے جانے کے بعد، جی ڈی کے + 2 پر جی ٹی کے + 2 کی ریلیز کے ساتھ، جی ڈی کے-پکسبف کو دوبارہ اسٹینڈ لون لائبریری میں تبدیل کر دیا گیا ہے۔ یہ GTK + 3 میں منتقلی کی تیاری کے لیے کیا گیا تھا۔ پہلی اسٹینڈ ایلون ریلیز 2010-ستمبر 21 کو 2.22 تھی، اس کی ترقی 2010-06-23 پر 2.21.3 کے ساتھ شروع ہوئی۔ جی ڈی کے-پکسبف کی تازہ ترین ریلیز 2017-اکتوبر-02 سے جی ڈی کے-پکسبف 2.36.11 ہے۔ 3. 36 کی ترقی 2016-04-26 پر 3.35.1 سے شروع ہوئی۔ ہسٹری جی ڈی کے اصل میں جی آئی ایم پی رسٹر گرافکس ایڈیٹر کے لیے ایکس ونڈو سسٹم پر تیار کیا گیا تھا۔ کلاٹر ریفرنسز ریلیز GTK + 3.19.0 سے بیرونی لنکس GDK کوڈ دیکھیں جدید Gtk ڈرائنگ ماڈل-الیگزینڈر لارسن، 2013/11/04 GTK اور اس کی لائبریریوں کا جائزہ-GTK پروجیکٹ https://git.gnome.org/browse/gtk-web/plain/images/architecture.svg گرافکس لائبریریاں GTK