blockly > blockRendering > RenderInfo

คลาส blockRendering.RenderInfo

วัตถุที่มีข้อมูลด้านขนาดทั้งหมดที่จำเป็นสำหรับการวาดบล็อกนี้

บัตรผ่านการวัดนี้จะไม่เผยแพร่การเปลี่ยนแปลงไปยังการบล็อก (แต่ช่องอาจเลือกแสดงผลอีกครั้งเมื่อมีการเรียกใช้ getSize()) อย่างไรก็ตาม การโทรซ้ำๆ อาจมีค่าใช้จ่ายสูง

ลายเซ็น:

export declare class RenderInfo 

ผู้ผลิต

ผู้ผลิต ตัวปรับแต่ง คำอธิบาย
(เครื่องมือสร้าง)(ผู้แสดงผล, บล็อก) สร้างอินสแตนซ์ใหม่ของคลาส RenderInfo

พร็อพเพอร์ตี้

พร็อพเพอร์ตี้ ตัวปรับแต่ง ประเภท คำอธิบาย
block_ BlockSvg
bottomRow BottomRow
constants_ protected ConstantProvider
ความสูง ตัวเลข ความสูงของบล็อกที่แสดงผล รวมถึงบล็อกย่อย
inputRows InputRow[] อาร์เรย์ของแถวอินพุตในบล็อก
isCollapsed boolean
isInline boolean
isInsertionMarker boolean
outputConnection OutputConnection | ค่า Null
renderer_

protected

readonly

โปรแกรมแสดงภาพ ใช้งานโหมดแสดงภาพบล็อกอยู่
แถว แถว[] อาร์เรย์ของออบเจ็กต์แถวที่มีข้อมูลการปรับขนาด
RTL boolean
startX ตัวเลข
startY ตัวเลข
statementEdge ตัวเลข
topRow TopRow
ความกว้าง ตัวเลข ความกว้างของบล็อกที่แสดงผล ไม่รวมบล็อกย่อย นี่คือขอบด้านขวาของบล็อกเมื่อแสดงผล LTR
widthWithChildren ตัวเลข ความกว้างของบล็อกที่แสดงผล รวมถึงบล็อกย่อย

วิธีการ

วิธีการ ตัวปรับแต่ง คำอธิบาย
addAlignmentPadding_(แถว, 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 คำนวณเส้นกึ่งกลางขององค์ประกอบในแถวที่แสดงผล การใช้งานแบบฐานนี้จะวางจุดกึ่งกลางที่ตรงกลางของแถวในแนวตั้ง โดยไม่มีกรณีพิเศษ คุณน่าจะต้องใช้ตรรกะเพิ่มเติมเพื่อจัดการ (เป็นอย่างต่ำ) แถวบนสุดและล่างสุด
getInRowSpancing_(ก่อนหน้า, ถัดไป) protected คำนวณความกว้างขององค์ประกอบที่กั้นระยะในแถวตามองค์ประกอบก่อนหน้าและถัดไปในแถวนั้น ตัวอย่างเช่น มีการเพิ่มระยะห่างจากขอบเกินระหว่างช่องที่แก้ไขได้ 2 ช่องที่แก้ไขได้
getMeasureableForConnection(conn) แสดงผลการเชื่อมต่อที่วัดได้ซึ่งเชื่อมโยงกับการเชื่อมต่อที่ระบุ
getRenderer() ใช้งานโหมดแสดงภาพบล็อก
getSpacerRowHeight_(_prev, _next) protected คำนวณความสูงของแถวที่กั้นระยะ
getSpacerRowWidth_(_prev, _next) protected คำนวณความกว้างของแถวที่กั้นระยะ
makeSpacerRow_(ก่อนหน้า, ถัดไป) protected สร้างแถวที่เว้นวรรคระหว่างก่อนหน้ากับถัดไป แล้วกำหนดขนาด
measure()

ใส่ข้อมูลขนาดทั้งหมดที่จำเป็นในการวาดบล็อกนี้บนออบเจ็กต์นี้

บัตรผ่านการวัดนี้จะไม่เผยแพร่การเปลี่ยนแปลงไปยังการบล็อก (แต่ช่องอาจเลือกแสดงผลอีกครั้งเมื่อมีการเรียกใช้ getSize()) อย่างไรก็ตาม การโทรซ้ำๆ อาจมีค่าใช้จ่ายสูง

populateBottomRow_() protected สร้างองค์ประกอบที่ไม่ใช่แบบเว้นวรรคทั้งหมดที่อยู่ในแถวล่าง
populateTopRow_() protected สร้างองค์ประกอบที่ไม่ใช่แบบเว้นวรรคทั้งหมดที่อยู่ในแถวบนสุด
recordElemPositions_(row) protected บันทึกข้อมูลตำแหน่งสุดท้ายขององค์ประกอบในแถวที่กำหนดไว้สำหรับใช้ในการวาด อย่างน้อยที่สุดจะเป็นการบันทึก xPos และเส้นกึ่งกลางในแต่ละองค์ประกอบ
ควรStartNewRow_(currInput, prevInput) protected ตัดสินใจว่าจะเริ่มแถวใหม่ระหว่าง Blockly.Inputs 2 รายการหรือไม่