इस प्रोजेक्ट के बारे में

Clay (C Layout) एक उच्च-प्रदर्शन 2D UI लेआउट लाइब्रेरी है जो C में लिखी गई है। यह जटिल, उत्तरदायी इंटरफेस के लिए फ्लेक्सबॉक्स जैसा लेआउट मॉडल प्रदान करता है, जिसमें टेक्स्ट रैपिंग, स्क्रॉलिंग कंटेनर और आस्पेक्ट रेशियो स्केलिंग शामिल है। लाइब्रेरी एक एकल हेडर फ़ाइल के रूप में वितरित की जाती है जिसमें शून्य निर्भरताएँ और कोई मानक लाइब्रेरी लिंकिंग नहीं है। यह स्थिर एरीना-आधारित मेमोरी का उपयोग करता है जिसमें कोई malloc/free नहीं है और ब्राउज़र उपयोग के लिए एक छोटे वेबअसेंबली मॉड्यूल में संकलन का समर्थन करता है। Clay C मैक्रोज़ जैसे CLAY(), CLAY_TEXT(), और CLAY_ID() के माध्यम से रिएक्ट जैसी नेस्टेड घोषणात्मक सिंटैक्स का उपयोग करता है। यह रेंडरर अज्ञेय है, जो रेंडरिंग प्रिमिटिव की एक क्रमबद्ध सूची आउटपुट करता है जिसे किसी भी 3D इंजन में कंपोज़िट किया जा सकता है या HTML में संकलित किया जा सकता है। API में पॉइंटर और होवर इंटरैक्शन हैंडलिंग, स्क्रॉलिंग कंटेनर, फ्लोटिंग एलिमेंट, कस्टम एलिमेंट लेआउट, ट्रांज़िशन, रिटेन्ड-मोड रेंडरिंग, विज़िबिलिटी कलिंग और डीबग टूल्स शामिल हैं। C के अलावा अन्य भाषाओं के लिए बाइंडिंग का भी उल्लेख किया गया है।