blockly > blockRendering > RenderInfo
คลาส blockRendering.RenderInfo
วัตถุที่มีข้อมูลการปรับขนาดทั้งหมดที่จำเป็นในการวาดบล็อกนี้
บัตรผ่าน Measurement Pass นี้จะไม่เผยแพร่การเปลี่ยนแปลงไปยังการบล็อก (แต่ช่องอาจเลือกแสดงผลอีกครั้งเมื่อมีการเรียกใช้ getSize()) อย่างไรก็ตาม การโทรซ้ำๆ อาจมีค่าใช้จ่ายสูง
ลายเซ็น:
export declare class RenderInfo
ผู้ผลิต
ผู้ผลิต | คีย์ตัวปรับแต่ง | คำอธิบาย |
---|---|---|
(constructor)(ผู้แสดงผล, บล็อก) | สร้างอินสแตนซ์ใหม่ของคลาส RenderInfo |
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ | คีย์ตัวปรับแต่ง | ประเภท | คำอธิบาย |
---|---|---|---|
block_ | BlockSvg | ||
bottomRow | BottomRow | ||
constants_ | protected |
ConstantProvider | |
ความสูง | ตัวเลข | ความสูงของบล็อกที่แสดงผล รวมถึงบล็อกย่อย | |
inputRows | InputRow[] | อาร์เรย์ของแถวอินพุตบนบล็อก | |
isCollapsed | boolean | ||
isInline | boolean | ||
isInsertionMarker | boolean | ||
outputConnection | OutputConnection | ค่าว่าง | ||
renderer_ |
|
โหมดแสดงภาพ | มีการใช้งานตัวแสดงผลบล็อกอยู่ |
แถว | แถว[] | อาร์เรย์ของออบเจ็กต์แถวที่มีข้อมูลการปรับขนาด | |
RTL | boolean | ||
startX | ตัวเลข | ||
startY | ตัวเลข | ||
statementEdge | ตัวเลข | ||
topRow | TopRow | ||
ความกว้าง | ตัวเลข | ความกว้างของบล็อกที่แสดงผล ไม่รวมบล็อกย่อย นี่คือขอบด้านขวาของบล็อกเมื่อแสดงผลแบบ LTR | |
widthWithChildren | ตัวเลข | ความกว้างของบล็อกที่แสดงผล รวมถึงบล็อกย่อย |
เมธอด
วิธีการ | คีย์ตัวปรับแต่ง | คำอธิบาย |
---|---|---|
addAlignmentPadding_(row, missingSpace) | protected |
แก้ไขแถวที่ระบุเพื่อเพิ่มระยะห่างจากขอบที่ระบุรอบๆ ช่อง ตำแหน่งที่แน่นอนของระยะห่างจากขอบจะอิงตามคุณสมบัติการจัดแนวของอินพุตล่าสุดในช่อง |
addElemSpacing_() | protected |
เพิ่มระยะห่างในแนวนอนระหว่างและรอบๆ องค์ประกอบในแต่ละแถว |
addInput_(อินพุต, ActiveRow) | protected |
เพิ่มองค์ประกอบอินพุตลงในแถวที่ใช้งานอยู่ (หากจำเป็น) และบันทึกประเภทของอินพุตในแถว |
addRowSpacing_() | protected |
เพิ่มที่กั้นระยะระหว่างแถวและกำหนดขนาด |
alignRowElements_() | protected |
คุณอาจต้องเว้นระยะห่างมากขึ้นเพื่อให้แน่ใจว่าด้านขวาของทุกแถวอยู่ในแนวเดียวกัน ซึ่งสามารถคำนวณขนาดของทุกแถวได้หลังจากการส่งครั้งแรกเท่านั้น |
alignStatementRow_(row) | protected |
จัดองค์ประกอบของแถวคำสั่งตามขอบเขตที่คำนวณ แถวคำสั่งต่างจากแถวประเภทอื่นๆ ตรงที่สามารถเพิ่มพื้นที่ในหลายตำแหน่ง |
computeBounds_() | protected |
ดูว่าควรวางขอบด้านขวาของบล็อกและขอบด้านขวาของอินพุตข้อความในตำแหน่งใด |
createRows_() | protected |
สร้างแถวของออบเจ็กต์ที่วัดได้ซึ่งแสดงถึงส่วนต่างๆ ที่แสดงผลได้ทั้งหมดของบล็อก |
finalize_() | protected |
ทำการเปลี่ยนแปลงออบเจ็กต์ข้อมูลการแสดงผลในขั้นสุดท้าย โดยเฉพาะอย่างยิ่ง ให้จัดเก็บตำแหน่ง y ของแต่ละแถว และบันทึกความสูงของบล็อกทั้งหมด |
getDesiredRowWidth_(_row) | protected |
คำนวณความกว้างที่ต้องการของแถวอินพุต |
getElemCenterline_(แถว, elem) | protected |
คำนวณเส้นกึ่งกลางขององค์ประกอบในแถวที่แสดงผล การใช้งานฐานนี้จะวางกึ่งกลางที่กึ่งกลางของแถวในแนวตั้ง โดยไม่มีกรณีพิเศษ คุณอาจจำเป็นต้องใช้ตรรกะเพิ่มเติมในการจัดการแถวบนสุดและล่างสุด (เป็นอย่างน้อย) |
getInRowSpacing_(ก่อนหน้า, ถัดไป) | protected |
คำนวณความกว้างขององค์ประกอบ Spacer ในแถวตามองค์ประกอบก่อนหน้าและถัดไปในแถวนั้น ตัวอย่างเช่น มีการเพิ่มระยะห่างจากขอบเพิ่มเติมระหว่างช่องที่แก้ไขได้ 2 ฟิลด์ |
getMeasureableForConnection(conn) | แสดงการเชื่อมต่อที่วัดได้ซึ่งเชื่อมโยงกับการเชื่อมต่อที่ระบุ | |
getRenderer() | ดาวน์โหลดตัวแสดงผลบล็อกที่ใช้งานอยู่ | |
getSpacerRowHeight_(_prev, _next) | protected |
คำนวณความสูงของแถวที่เว้นระยะ |
getSpacerRowWidth_(_prev, _next) | protected |
คำนวณความกว้างของแถวที่เว้นระยะ |
makeSpacerRow_(ก่อนหน้า ถัดไป) | protected |
สร้างแถวเว้นวรรคเพื่อสลับไปมาระหว่างก่อนหน้าและถัดไป จากนั้นกำหนดขนาด |
measure() | ป้อนข้อมูลขนาดทั้งหมดที่ต้องใช้ในการวาดบล็อกในออบเจ็กต์นี้ บัตรผ่าน Measurement Pass นี้จะไม่เผยแพร่การเปลี่ยนแปลงไปยังการบล็อก (แต่ช่องอาจเลือกแสดงผลอีกครั้งเมื่อมีการเรียกใช้ getSize()) อย่างไรก็ตาม การโทรซ้ำๆ อาจมีค่าใช้จ่ายสูง |
|
populateBottomRow_() | protected |
สร้างองค์ประกอบที่ไม่ใช่การเว้นวรรคทั้งหมดที่อยู่ในแถวล่าง |
populateTopRow_() | protected |
สร้างองค์ประกอบที่ไม่ใช่เครื่องเว้นวรรคทั้งหมดที่อยู่ในแถวบนสุด |
recordElemPositions_(row) | protected |
บันทึกข้อมูลตำแหน่งสุดท้ายขององค์ประกอบในแถวที่กำหนดเพื่อใช้ในภาพวาด อย่างน้อยที่สุดจะเป็นการบันทึก xPos และเส้นกึ่งกลางของแต่ละองค์ประกอบ |
ควรStartNewRow_(currInput, prevInput) | protected |
ตัดสินใจว่าจะเริ่มแถวใหม่ระหว่าง Blockly.Inputs 2 รายการหรือไม่ |