blockly > blockRendering > RenderInfo
کلاس blockRendering.RenderInfo
یک شی حاوی تمام اطلاعات اندازه مورد نیاز برای ترسیم این بلوک است.
این اندازه گیری تغییرات را در بلوک منتشر نمی کند (اگرچه ممکن است وقتی که getSize() فراخوانی می شود، فیلدها دوباره رندر شوند. با این حال، تماس مکرر با آن ممکن است گران باشد.
امضا:
export declare class RenderInfo
سازندگان
سازنده | اصلاح کننده ها | توضیحات |
---|---|---|
(سازنده) (رندر، بلوک) | یک نمونه جدید از کلاس RenderInfo می سازد |
خواص
اموال | اصلاح کننده ها | تایپ کنید | توضیحات |
---|---|---|---|
بلوک_ | BlockSvg | ||
ردیف پایین | ردیف پایین | ||
ثابت_ | protected | ConstantProvider | |
ارتفاع | شماره | ارتفاع بلوک رندر شده، از جمله بلوک های فرزند. | |
ردیف های ورودی | ردیف ورودی [] | آرایه ای از ردیف های ورودی در بلوک. | |
فرو ریخته است | بولی | ||
isInline | بولی | ||
isInsertionMarker است | بولی | ||
خروجی اتصال | خروجی اتصال | تهی | ||
ارائه دهنده_ | | رندر | رندر بلوک در حال استفاده است. |
ردیف ها | ردیف [] | آرایه ای از اشیاء ردیف حاوی اطلاعات اندازه. | |
RTL | بولی | ||
startX | شماره | ||
شروع Y | شماره | ||
statementEdge | شماره | ||
ردیف بالا | TopRow | ||
عرض | شماره | عرض بلوک رندر شده، به استثنای بلوک های فرزند. این لبه سمت راست بلوک هنگام رندر LTR است. | |
عرض با کودکان | شماره | عرض بلوک رندر شده، از جمله بلوک های فرزند. |
روش ها
روش | اصلاح کننده ها | توضیحات |
---|---|---|
addAlignmentPadding_(ردیف، missingSpace) | protected | ردیف داده شده را تغییر دهید تا مقدار مشخصی از padding در اطراف فیلدهای آن اضافه شود. مکان دقیق بالشتک بر اساس ویژگی تراز آخرین ورودی در فیلد است. |
addElemSpacing_() | protected | فاصله افقی بین و اطراف عناصر را در هر ردیف اضافه کنید. |
addInput_(ورودی، فعال ردیف) | protected | در صورت نیاز یک عنصر ورودی به سطر فعال اضافه کنید و نوع ورودی را روی ردیف ثبت کنید. |
addRowSpacing_() | protected | فاصله بین ردیف ها را اضافه کنید و اندازه آنها را تنظیم کنید. |
alignRowElements_() | protected | ممکن است فاصله اضافی لازم باشد تا مطمئن شوید که سمت راست همه ردیفها در یک راستا قرار دارند. این فقط پس از اولین پاس برای محاسبه اندازه تمام ردیف ها قابل محاسبه است. |
alignStatementRow_(ردیف) | protected | عناصر یک ردیف دستور را بر اساس کران های محاسبه شده تراز کنید. برخلاف سایر انواع ردیفها، ردیفهای بیانیه در مکانهای متعددی فضا اضافه میکنند. |
computeBounds_() | protected | محل قرارگیری لبه سمت راست بلوک و لبه سمت راست ورودی های عبارت را مشخص کنید. |
createRows_() | protected | ردیف هایی از اشیاء قابل اندازه گیری ایجاد کنید که تمام بخش های قابل رندر بلوک را نشان می دهند. |
finalize_() | protected | هر گونه تغییر نهایی را در شی اطلاعات رندر انجام دهید. به طور خاص، موقعیت y هر ردیف را ذخیره کنید و ارتفاع بلوک کامل را ثبت کنید. |
getDesiredRowWidth_(_row) | protected | عرض مورد نظر یک ردیف ورودی را محاسبه کنید. |
getElemCenterline_(ردیف، عنصر) | protected | خط مرکزی یک عنصر را در یک ردیف رندر شده محاسبه کنید. این پیاده سازی پایه، خط مرکزی را در وسط ردیف به صورت عمودی، بدون هیچ مورد خاصی قرار می دهد. احتمالاً برای مدیریت (حداقل) ردیف های بالا و پایین به منطق اضافی نیاز خواهید داشت. |
getInRowSpacing_(قبلی، بعدی) | protected | عرض یک عنصر فاصله دهنده در یک ردیف را بر اساس عناصر قبلی و بعدی در آن ردیف محاسبه کنید. به عنوان مثال، بالشتک اضافی بین دو فیلد قابل ویرایش اضافه می شود. |
getMeasureableForConnection(conn) | اتصال قابل اندازه گیری مرتبط با اتصال داده شده را برمی گرداند. | |
getRenderer() | رندر بلوک را در حال استفاده دریافت کنید. | |
getSpacerRowHeight_(_prev، _next) | protected | ارتفاع ردیف فاصله را محاسبه کنید. |
getSpacerRowWidth_(_prev، _next) | protected | عرض یک ردیف فاصله را محاسبه کنید. |
makeSpacerRow_(قبلی، بعدی) | protected | یک ردیف فاصله ایجاد کنید تا بین prev و next بروید و اندازه آن را تنظیم کنید. |
اندازه گیری () | این شی را با تمام اطلاعات اندازه مورد نیاز برای رسم بلوک پر کنید. این اندازهگیری تغییرات را در بلوک منتشر نمیکند (اگرچه فیلدها ممکن است زمانی که getSize() فراخوانی میشوند، دوباره رندر شوند. با این حال، تماس مکرر با آن ممکن است گران باشد. | |
populateBottomRow_() | protected | همه عناصر بدون فاصله را که در ردیف پایین قرار دارند ایجاد کنید. |
populateTopRow_() | protected | همه عناصر غیر فاصلهدهنده را که در ردیف بالا قرار دارند ایجاد کنید. |
recordElemPositions_(ردیف) | protected | اطلاعات موقعیت نهایی را روی عناصر در ردیف داده شده، برای استفاده در طراحی، ثبت کنید. حداقل این xPos و خط مرکزی روی هر عنصر را ثبت می کند. |
shouldStartNewRow_(currInput، prevInput) | protected | تصمیم بگیرید که آیا یک ردیف جدید بین دو ورودی Blockly.Input شروع کنید یا خیر. |