blockly > blockRendering > RenderInfo

מחלקה (blockRendering.RenderInfo)

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

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

Signature:

export declare class RenderInfo 

יצרנים

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

תכונות

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

protected

readonly

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

שיטות

שיטה גורמי שינוי תיאור
addConfirmmentPadding_(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 וקו האמצע בכל רכיב.
אמורStartNewRow_(currINPUT, previnput) protected מחליטים אם להתחיל שורה חדשה בין שני קובצי Blockly.input.