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_

protected

readonly

โหมดแสดงภาพ มีการใช้งานตัวแสดงผลบล็อกอยู่
แถว แถว[] อาร์เรย์ของออบเจ็กต์แถวที่มีข้อมูลการปรับขนาด
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 รายการหรือไม่