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