خلاصه
Text COMP یک پنل برای نمایش متن در ساخت رابطهای کاربری است. متن میتواند فقط قابل مشاهده، قابل مشاهده و کپی/پیست، یا بهطور کامل قابل ویرایش در خود پنل باشد.
حالتهای فرمت مختلفی برای نمایش رشتههای تکخطی، متن چندخطی، اعداد اعشاری و صحیح، فیلدهای پسورد و موارد دیگر وجود دارد. منبع متن از پارامتر Text گرفته میشود و سپس برای نمایش در پنل فرمت میشود. نمونههای فرمت شامل نمایش عدد بهعنوان ارز، درصد یا نماد علمی، یا تبدیل مقدار کد زمانی عدد صحیح به ساعت/دقیقه/ثانیه/فریم است. گزینههای فرمت دیگر شامل پشتیبانی از سینتکس Python، فرمت سفارشی C++ Fmt و فرمت سفارشی Python F-String است.
وقتی کاربر برای ویرایش متن روی پنل کلیک میکند، محتوا بهصورت خام نمایش داده میشود و پس از اتمام ویرایش دوباره فرمت میشود.
Text COMP از دستورهای فرمت درونخطی پشتیبانی میکند؛ مانند رنگ، خطخوردگی، زیرخط، حروف کوچک، زیرنویس، گرادینت و غیره. برای مثال، کد {#color(255, 0, 0);}
همه متن بعد از آن خط را قرمز میکند.
این کامپوننت گزینههای تناسب متن مانند شکست خودکار (wraparound)، کوچکسازی متن اگر جا نشود، ترازبندی چپ-وسط-راست و جهت خواندن زبان دارد. متن فقط-نمایشی میتواند قابل انتخاب یا غیرقابل انتخاب باشد.
امکان ترسیم چند رشته با فرمت/تبدیل متفاوت با استفاده از یک جدول Specification DAT وجود دارد: هر ردیف جدول یک رشته ترسیم میکند که هرکدام موقعیت و فرمت مخصوص خود را در پنل دارند. ستونها میتوانند شامل x، y، متن، اندازه فونت، رنگ (RGB)، شفافیت، کجشدگی، فاصله حروف و کشیدگی افقی باشند. همچنین میتوانید از Specification CHOP برای مقادیر عددی ویژگیهای متن استفاده کنید.
هر ردیف از Spec DAT نشاندهنده یک «بلوک متن» است. هر Spec DAT باید ستونی با نام text داشته باشد که رشتهای را نگه میدارد و پارامتر اصلی Text را بازنویسی میکند.
Text COMP دارای callbackهای پایتون است که میتوانند برای هر کاراکتر یا رشتهای که تغییر کرده اجرا شوند، همچنین یک callback برای تغییر فوکوس دارد.
متن مستقل از وضوح (Resolution-independent) مستقیماً روی صفحه و در وضوح موردنیاز برای اندازه پنل رسم میشود، بنابراین در هر سطح بزرگنمایی کاملاً واضح خواهد بود. این ویژگی بر پایه GPU و با استفاده از کتابخانه Slug انجام میشود.
واحدهای X، Y، عرض و ارتفاع در «واحدهای پنل» هستند؛ در حالی که پیشتر بر اساس پیکسل واقعی بودند. اندازه فونت پیشفرض، جابهجایی متن و فاصله داخلی (Padding) همگی بر اساس واحد پنل هستند.
🔗 برای نمونهها به Operator Snippets و برای کدهای فرمت متن به Text Formatting Codes مراجعه کنید.
همچنین ببینید: Geo Text COMP برای نسخه سهبعدی رندرشده Text COMP.
📌 توجه: Text COMP جایگزین Field COMP است و آن را بهطور کامل با ویژگیهای جدید و گستردهتر جایگزین میکند.
پارامترها – صفحه Text
Mode (حالت): مشخص میکند که متن از پارامتر Text گرفته میشود یا از Specification DAT/CHOP.
Text: منبع داده برای نمایش متن در پنل. میتواند عدد، رشته یا رفرنس خارجی (با expression یا bind) باشد. اگر کاربر متن را ویرایش کند، تغییرات ذخیره میشود. برای مثال میتوانید متن را به یک سلول DAT بایند کنید.
Specification DAT: مسیر یک Table DAT که منبع داده متن است (در حالت Specification). جدول باید حداقل سه ستون x، y و text داشته باشد.
Specification CHOP: مسیر یک CHOP برای دادههای عددی (در حالت Specification). کانالهای x و y برای موقعیت متن استفاده میشوند.
Type (نوع) – مشخص میکند متن چگونه تفسیر و فرمت شود:
String: رشته تکخطی.
Float: عدد اعشاری (فقط اعداد پذیرفته میشوند).
Integer: عدد صحیح (فقط اعداد پذیرفته میشوند، مناسب برای timecode).
Multi Line: متن چندخطی (با \n یا شکست خودکار در پنل).
Password: نمایش نقطهای متن (شبیه فیلد رمز).
Specification DAT: نمایش چند رشته در موقعیتهای دلخواه داخل پنل.
Formatting (فرمتبندی) – نحوه نمایش متن:
Default: فرمت ساده.
Custom Fmt (C++): فرمت با سینتکس Fmt.
Custom Python F-String: فرمت با F-String پایتون.
سایر گزینهها:
Precision: تعداد اعشار (در Float).
Thousands Separator: جداکننده هزارگان (هیچ، فاصله، یا کاما).
Framerate: نرخ فریم برای فرمت timecode.
Smart Punctuation: تبدیل خودکار علائم نگارشی (نقلقول، … → …، — → —).
Formatting Codes: فعالسازی دستورات فرمت درونمتنی.
Word Wrap: شکست خودکار خطوط در Multi Line.
Edit Mode: فقط نمایش / قابل انتخاب / قابل ویرایش / ویرایش با ذخیره پیوسته.
Shift-Enter for New Line: برای Multi Line.
Reading Direction: جهت متن (چپبهراست، راستبهچپ، یا ترکیبی).
Drag Drop Behaviour: واکنش به کشیدن و رها کردن.
Focus Order: تعیین ترتیب فوکوس با جدول.
Callbacks DAT: تعریف اسکریپت پایتون برای رویدادها.
پارامترها – صفحه Font
Legacy Font Selection: انتخاب فونت با سیستم قدیمی (بولد/ایتالیک).
Font: انتخاب فونت نصبشده در سیستم.
Font File: بارگذاری فایل فونت سفارشی.
Typeface: انتخاب سبک فونت (Regular، Italic، Bold و غیره).
Bold / Italic: نمایش بولد یا ایتالیک.
Drop Shadow: سایه زیر متن.
Scale Text to Fit: مقیاس خودکار متن برای جا شدن در پنل (هرگز / همیشه / فقط وقتی بزرگتر از حد باشد).
Font Size: اندازه فونت (بر اساس واحدهای پنل یا DPI).
Font Size Units: تعیین واحد اندازه (panel units / fract / relfract / points).
Tracking: فاصله افقی بین کاراکترها.
Skew: کج کردن حروف.
Horz Stretch: کشیدگی افقی.
Line Spacing: فاصله خطوط (در Multi Line).
Font Color: رنگ پیشفرض متن (RGB + شفافیت).
Custom Select Color: رنگ سفارشی برای انتخاب در حالت ویرایش.
Text Offset: جابهجایی متن پس از ترازبندی.
Text Padding: فاصله متن از لبههای پنل.
Horizontal Align: ترازبندی افقی (چپ، وسط، راست).
Vertical Align: ترازبندی عمودی (بالا، وسط، پایین، baseline).
Align Modes: انتخاب بین استفاده از ابعاد فونت یا جعبه متن برای محاسبه ترازبندی.
پارامترها – صفحه Panel
Multi-Touch (چندلمسی)
وقتی فعال باشد، این پنل اولین لمس را دقیقاً مثل کلیک موس پردازش میکند (با آپدیت مقادیر u, v, state و غیره). لمس باید از داخل پنل شروع شود. لمسهای بعدی نادیده گرفته میشوند.
اگر از Multi Touch In DAT برای پردازش چندلمسی استفاده میکنید، بهتر است گزینه Built-in Multi-Touch غیرفعال شود تا با اسکریپتها تداخل نداشته باشد.
گزینهها:
Use Parent’s Multi-Touch Settings: از تنظیمات والد استفاده کند (در روت کامپوننت بهصورت پیشفرض فعال است).
Use Built-in Multi-Touch: لمس اول را بهعنوان کلیک موس بگیرد.
Do Not Use Built-in Multi-Touch: لمس اول را بهطور کامل نادیده بگیرد.
Constrain Cursor – مکاننما (cursor) را به داخل همین پنل محدود میکند.
Click Through – وقتی فعال باشد، همه کلیکهای موس روی این پنل نادیده گرفته میشوند.
Use Mouse Wheel – فعالسازی برای دریافت رویدادهای اسکرول موس روی پنل.
Mouse UV Buttons – مشخص میکند کدام دکمههای موس مقادیر u,v پنل را آپدیت کنند. (چپ، وسط، راست)
Relative UV – مقادیر u,v را بر اساس حرکت نسبی موس نشان میدهد.
Drag Edges to Resize – اجازه تغییر اندازه پنل با کشیدن لبهها (چپ، راست، بالا، پایین).
W Range / H Range – محدودیتهای تغییر عرض و ارتفاع.
Drag to Reposition – اجازه جابهجایی پنل یا پنجره با درگ موس:
Off – خاموش
Window – کل پنجره جابهجا شود
Component – یک کامپوننت خاص جابهجا شود
Component – مسیر کامپوننتی که باید با موس جابهجا شود.
X Range / Y Range – محدودیت محدوده جابهجایی افقی و عمودی.
Anchor Drag – در حالت Reposition=Component و وقتی محورهای پنل روی Anchor هستند، مشخص میکند که درگ روی پنل باعث تغییر Anchor شود یا Offset.
Scroll Overlay – مشخص میکند اسکرولبارها روی پنل اثر بگذارند یا نه:
Off – حالت عادی
Ignore – بیتأثیر بودن اسکرولبار
Ignore and Draw Over – بیتأثیر بودن اسکرولبار و رسم پنل روی بقیه.
پارامترها – صفحه Look
این صفحه رنگ پسزمینه، مرز (Border) و حالت غیرفعال پنل را تنظیم میکند.
Background Color – رنگ RGB پسزمینه (پیشفرض مشکی).
Background Alpha – شفافیت پسزمینه.
Background TOP – یک TOP بهعنوان پسزمینه.
TOP Fill – نحوه پر کردن پسزمینه با TOP (کشیدهشده، عرض، ارتفاع، بهترین حالت، رزولوشن اصلی، یا بیرونزدن).
TOP Smoothness – نحوه فیلتر کردن تصویر پسزمینه (Nearest Pixel، Interpolate Pixels، Mipmap Pixels).
Border A / Border B – رنگها و آلفا برای مرزهای مختلف.
Left / Right / Bottom / Top Border – تعیین رنگ پیکسلهای لبهها (۰=هیچ تغییری، Border A یا Border B).
Border Over Children – رسم مرز پنل روی همه پنلهای فرزند.
Disable Color / Alpha – رنگ مخصوص وقتی پنل غیرفعال باشد.
Multiply RGB by Alpha – ضرب مقادیر RGB در آلفا.
Composite – نحوه ترکیب پنل با خواهر/برادرها (Over، Under، Add، Subtract، Multiply و غیره).
Opacity – شفافیت کلی پنل.
پارامترها – صفحه Children
Align – نحوه چینش فرزندان پنل (چپ به راست، راست به چپ، بالا به پایین، شبکهای، یا Match Network Nodes).
Spacing – فاصله بین فرزندان.
Max per Line – بیشترین تعداد فرزند در یک ردیف یا ستون.
Margin – فاصله حاشیهای پنل (بر اساس پیکسل مطلق).
Justify Method – ترازبندی گروهی یا تکی فرزندان.
Justify Horizontal / Vertical – ترازبندی افقی و عمودی.
Fit – مقیاس خودکار فرزندان برای پر کردن عرض/ارتفاع یا بهترین حالت.
Scale (X,Y) – مقیاس یکنواخت فرزندان.
Offset (X,Y) – جابهجایی فرزندان (تحت تأثیر Align/Justify قرار میگیرد).
Crop – مشخص میکند آیا فرزندانی که بیرون از محدوده پنل هستند بریده شوند یا نه.
Horizontal / Vertical Scrollbar – فعال یا خودکار بودن اسکرولبار.
Thickness – ضخامت اسکرولبارها.
پارامترها – صفحه Drag/Drop
When Dragging This – آیا این پنل قابل درگ باشد یا نه (از والد بگیرد، سیستم قدیمی، یا ممنوع شود).
Drag Script – اسکریپتی که هنگام شروع درگ اجرا میشود.
Drop Destination Script – اسکریپتی که هنگام رها کردن (Drop) اجرا میشود.
Drop Types – مشخص کردن نوع دادههایی که مقصد Drop پشتیبانی میکند (COMP، TOP، CHOP و غیره).
Dropped Operator – تعیین اپراتور جایگزین برای Drop.
On Dropping Into – آیا این پنل چیزی که رویش Drop شود را قبول کند یا نه.
Drop Script – اسکریپت اجراشده هنگام Drop کردن کامپوننت یا فایل روی پنل.
پارامترها – صفحه Extensions
Extension – لیست اطلاعات برای ایجاد اکستنشن روی کامپوننت.
Object – نمونه کلاسهایی که به کامپوننت متصل میشوند.
Name – نام اختیاری برای جستجو (بهجای نام کلاس).
Promote – تعیین اینکه متدهای اکستنشن مستقیم در سطح کامپوننت دیده شوند یا از طریق
.ext
.Re-Init Extensions – کامپایل دوباره همه اکستنشنها.
پارامترها – صفحه Common
Parent Shortcut – میانبر نامی برای دسترسی به والد.
Global OP Shortcut – میانبر نامی برای دسترسی از هر جای پروژه.
Internal OP – مسیر اپراتورهای داخلی.
Node View – مشخص میکند چه چیزی در نمای Node Viewer نشان داده شود (ویور پیشفرض یا ویور یک اپراتور خاص).
Operator Viewer – انتخاب اپراتوری که ویورش نمایش داده میشود.
Keep in Memory – نگهداشتن در حافظه.
Enable Cloning – فعال یا غیرفعال کردن کلون شدن.
Clone Master – مسیر کامپوننتی که بهعنوان کلون مستر استفاده میشود.
Load on Demand – بارگذاری فقط در صورت نیاز.
Enable External .tox – استفاده از فایل خارجی .tox برای بارگذاری محتوا.
External .tox Path – مسیر فایل .tox.
Reload Custom / Built-in Parameters – تعیین اینکه موقع بارگذاری .tox پارامترها دوباره بارگذاری شوند یا نه.
Save Backup of External – ذخیره نسخه پشتیبان در .toe در صورتی که فایل .tox پیدا نشود.
Sub-Component to Load – بارگذاری فقط یک کامپوننت خاص از داخل .tox.
Relative File Path Behavior – مشخص میکند مسیرهای فایل داخلی نسبت به چه چیزی باشند (toe، tox یا والد).