blockly > blockRendering > RenderInfo

Classe blockRendering.RenderInfo

Um objeto que contém todas as informações de dimensionamento necessárias para desenhar esse bloco.

Essa passagem de medição não propaga mudanças no bloco, embora os campos possam optar por renderizar novamente quando getSize() é chamado. No entanto, chamá-lo repetidamente pode ser caro.

Signature:

export declare class RenderInfo 

Construtores

Construtor Modificadores Descrição
(construtor)(renderizador, bloco) Cria uma nova instância da classe RenderInfo

Propriedades

Propriedade Modificadores Tipo Descrição
block_ BlockSvg
bottomRow BottomRow
constants_ protected ConstantProvider
height (em inglês) number A altura do bloco renderizado, incluindo blocos filhos.
inputRows InputRow[] Uma matriz de linhas de entrada no bloco.
isCollapsed booleano
isInline booleano
isInsertionMarker booleano
outputConnection OutputConnection | nulo
renderer_

protected

readonly

Renderizador O renderizador de bloco em uso.
linhas Linha[] Uma matriz de objetos Row contendo informações de dimensionamento.
RTL booleano
startX number
startY number
statementEdge number
topRow TopRow
largura number A largura do bloco renderizado, excluindo blocos filhos. É a borda direita do bloco quando renderizada como LTR.
widthWithChildren number A largura do bloco renderizado, incluindo blocos filhos.

Métodos

Método Modificadores Descrição
addAlignmentPadding_(row, missingSpace) protected Modifique a linha para adicionar a quantidade especificada de preenchimento em torno de seus campos. A localização exata do padding é baseada na propriedade de alinhamento da última entrada no campo.
addElemSpacing_() protected Adicione espaçamento horizontal entre e ao redor dos elementos em cada linha.
addInput_(input, activeRow) protected Adicione um elemento de entrada à linha ativa, se necessário, e registre o tipo de entrada na linha.
addRowSpacing_() protected Adicionar espaçadores entre as linhas e definir seus tamanhos.
alignRowElements_() protected Pode ser necessário um espaçamento extra para garantir que os lados certos de todas as linhas fiquem alinhados. Isso só pode ser calculado após uma primeira passagem para calcular os tamanhos de todas as linhas.
alignStatementRow_(row) protected Alinhe os elementos de uma linha de instrução com base nos limites calculados. Ao contrário de outros tipos de linhas, as de instruções adicionam espaço em vários lugares.
computeBounds_() protected Descobrir onde a borda direita do bloco e a borda direita das entradas de instrução precisam ser colocadas.
createRows_() protected Crie linhas de objetos mensuráveis que representem todas as partes do bloco que podem ser renderizadas.
finalize_() protected Faça as alterações finais no objeto de informações de renderização. Em particular, armazene a posição y de cada linha e registre a altura do bloco completo.
getDesiredRowWidth_(_row) protected Calcule a largura desejada de uma linha de entrada.
getElemCenterline_(linha, elem) protected Calcular a linha central de um elemento em uma linha renderizada. Essa implementação básica coloca a linha central no meio da linha verticalmente, sem casos especiais. Você provavelmente vai precisar de lógica extra para lidar, no mínimo, com as linhas superior e inferior.
getInRowSpacing_(prev, next) protected Calcule a largura de um elemento espaçador em uma linha com base nos elementos anterior e seguinte dessa linha. Por exemplo, um padding extra é adicionado entre dois campos editáveis.
getMeasureableForConnection(conn) Retorna a conexão mensurável associada à conexão especificada.
getRenderer() Coloque o renderizador em bloco em uso.
getSpacerRowHeight_(_prev, _next). protected Calcule a altura de uma linha espaçadora.
getSpacerRowWidth_(_prev, _next) protected Calcule a largura de uma linha de espaçador.
makeSpacerRow_(prev, next) protected Crie uma linha espaçadora para alternar entre a anterior e a próxima, e defina o tamanho dela.
measure()

Preencha esse objeto com todas as informações de dimensionamento necessárias para desenhar o bloco.

Essa passagem de medição não propaga mudanças no bloco, embora os campos possam optar por renderizar novamente quando getSize() é chamado. No entanto, chamá-lo repetidamente pode ser caro.

populateBottomRow_() protected Crie todos os elementos sem espaçadores que pertençam à linha inferior.
populateTopRow_() protected Crie todos os elementos sem espaçadores que pertençam à linha superior.
recordElemPositions_(row) protected Registra informações de posição final nos elementos da linha em questão para usar em desenhos. No mínimo, isso registra xPos e centerline em cada elemento.
devStartNewRow_(currInput, prevInput) protected Decida se você quer iniciar uma nova linha entre os dois Blockly.Inputs.