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 รายการหรือไม่ |