blockly > blockRendering > RenderInfo

מחלקה blockRendering.RenderInfo

אובייקט שמכיל את כל פרטי הגודל הנדרשים כדי לשרטט את הבלוק הזה.

אישור המדידה הזה לא מפיץ שינויים בבלוק (למרות ששדות עשויים לבחור לעיבוד מחדש כשמתבצעת קריאה ל-getSize() ). עם זאת, שיחות חוזרות ונשנות עשויות להיות יקרות.

Signature:

export declare class RenderInfo 

יצרנים

יצרן גורמי שינוי תיאור
(constructor)(render, block) יצירה של מופע חדש של המחלקה RenderInfo

מאפיינים

נכס גורמי שינוי סוג תיאור
block_ BlockSvg
bottomRow BottomRow
constants_ protected ConstantProvider
height (גובה) number גובה הבלוק שעבר עיבוד, כולל בלוקים של צאצאים.
inputRows InputRow[] מערך של שורות קלט בבלוק.
isCollapsed בוליאני
isInline בוליאני
isInsertionMarker בוליאני
outputConnection OutputConnection | null
renderer_

protected

readonly

כלי לעיבוד כלי לרינדור הבלוקים בשימוש.
שורות שורה[] מערך של אובייקטי שורה שמכיל מידע על מידות התמונה.
RTL בוליאני
startX number
startY number
statementEdge number
topRow TopRow
רוחב number רוחב הבלוק שעבר עיבוד, לא כולל בלוקים צאצאים. זהו הקצה הימני של הבלוק בזמן רינדור LTR.
widthWithChildren number רוחב הבלוק שעבר עיבוד, כולל בלוקים צאצאים.

שיטות

שיטה גורמי שינוי תיאור
addיישורmentPering_(row, missingSpace) protected משנים את השורה הרלוונטית כדי להוסיף את המרווח הפנימי הנתון מסביב לשדות שלה. המיקום המדויק של המרווח הפנימי מבוסס על מאפיין היישור של הקלט האחרון בשדה.
addElemSpacing_() protected הוספת ריווח אופקי בין רכיבים בתוך כל שורה וסביבם.
addInput_(input, activeRow) protected אם צריך, מוסיפים רכיב קלט לשורה הפעילה ומתעדים את סוג הקלט בשורה.
addRowSpacing_() protected מוסיפים רווחים בין שורות ומגדירים את הגודל שלהם.
alignRowElements_() protected ייתכן שיהיה צורך ברווחים נוספים כדי לוודא שהצלעות הימניות של כל השורות נמצאות בשורה. אפשר לחשב את זה רק אחרי מעבר ראשון, כדי לחשב את הגודל של כל השורות.
alignStatementRow_(row) protected יישרו את הרכיבים של שורת הצהרה על סמך גבולות מחושבים. בניגוד לסוגים אחרים של שורות, שורות בדוחות מוסיפות רווח בכמה מקומות.
computeBounds_() protected מציאת המיקום הימני של הבלוק ושל הקצה הימני של קלט ההצהרה.
createRows_() protected יצירת שורות של אובייקטים ניתנים למדידה שמייצגים את כל החלקים של הבלוק שניתן לעבד.
finalize_() protected מבצעים את השינויים הסופיים באובייקט המידע של הרינדור. חשוב במיוחד לשמור את המיקום ה-y של כל שורה ולתעד את הגובה של כל הבלוק.
getDesiredRowWidth_(_row) protected מחשבים את הרוחב הרצוי של שורת קלט.
getElemCenterline_(row, elem) protected מחשבים את קו האמצע של רכיב בשורה שעברה רינדור. יישום הבסיס הזה מציב את קו האמצע באמצע השורה באופן אנכי, ללא מקרים מיוחדים. סביר להניח שתצטרכו לוגיקה נוספת כדי לטפל (לכל הפחות) בשורות העליונות והתחתונות.
getInRowSpacing_(prev, next) protected מחשבים את הרוחב של רכיב רווח בשורה על סמך הרכיב הקודם והרכיב הבא באותה שורה. לדוגמה, ניתן להוסיף מרווח פנימי נוסף בין שני שדות שניתן לערוך.
getMeasureableForConnection(conn) הפונקציה מחזירה את החיבור ניתן למדידה שמשויך לחיבור הנתון.
getRenderer() משתמשים בכלי לרינדור הבלוקים.
getSpacerRowHeight_(_prev, _next) protected חישוב הגובה של שורת רווח.
getSpacerRowwidth_(_prev, _next) protected מחשבים את הרוחב של שורת רווח.
makeSpacerRow_(prev, next) protected יוצרים שורת רווח כדי לעבור בין השורה הקודמת לשורה הבאה, ומגדירים את הגודל שלה.
measure()

צריך לאכלס את האובייקט הזה בכל פרטי הגודל הנדרשים כדי לשרטט את הבלוק.

אישור המדידה הזה לא מפיץ שינויים בבלוק (למרות ששדות עשויים לבחור לעיבוד מחדש כשמתבצעת קריאה ל-getSize() ). עם זאת, שיחות חוזרות ונשנות עשויות להיות יקרות.

populateBottomRow_() protected יוצרים את כל הרכיבים ששייכים לשורה התחתונה, שאינם מפרידים.
populateTopRow_() protected יוצרים את כל הרכיבים ששייכים לשורה העליונה, שאינם מפרידים.
recordElemPositions_(row) protected מתעדים את פרטי המיקום הסופי של רכיבים בשורה הנתונה, לשימוש בשרטוט. לכל הפחות, המערכת מתעדת xPos וקו אמצע בכל רכיב.
EligibleStartNewRow_(currInput, prevInput) protected עליכם להחליט אם להתחיל שורה חדשה בין שני ה-Blockly.Inputs.