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() for chamado. No entanto, fazer chamadas repetidas pode ser caro.

Signature:

export declare class RenderInfo 

Construtores

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

Propriedades

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

protected

readonly

Renderizador O renderizador de blocos em uso.
linhas Linha[] Uma matriz de objetos Row contendo informações de dimensionamento.
RTL boolean
startX number
startY number
statementEdge number
topRow TopRow
largura number A largura do bloco renderizado, excluindo blocos filhos. Esta é a borda direita do bloco quando a direção LTR é renderizada.
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 padding ao redor dos 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 dentro de 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 Adicione espaçadores entre as linhas e defina os tamanhos.
alignRowElements_() protected Espaçamento extra pode ser necessário para garantir que os lados certos de todas as linhas estejam alinhados. Isso só pode ser calculado após a primeira transmissão 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 linhas de instrução adicionam espaço em vários lugares.
computeBounds_() protected Descubra 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 representam todas as partes renderizáveis do bloco.
finalize_() protected Faça as alterações finais no objeto de informações de renderização. Armazene a posição y de cada linha e registre a altura do bloco inteiro.
getDesiredRowWidth_(_row) protected Calcule a largura desejada de uma linha de entrada.
getElemCenterline_(linha, elem) protected Calcula 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 processar (no mínimo) as linhas de cima e de baixo.
getInRowSpacing_(anterior, próximo) protected Calcula a largura de um elemento espaçador em uma linha com base nos elementos anteriores e seguintes dela. Por exemplo, um padding extra é adicionado entre dois campos editáveis.
getMeasureableForConnection(conn) Retorna a conexão mensurável associada à conexão especificada.
getRenderer() Faz com que o renderizador de bloco esteja em uso.
getSpacerRowHeight_(_prev, _next) protected Calcular a altura de uma linha espaçadora.
getSpacerRowWidth_(_prev, _next) protected Calcular a largura de uma linha espaçadora.
makeSpacerRow_(anterior, próximo) protected Crie uma linha espaçadora entre a anterior e a próxima e defina o tamanho dela.
measure() (em inglês)

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() for chamado. No entanto, fazer chamadas repetidas pode ser caro.

populateBottomRow_() protected Crie todos os elementos não espaçadores que pertençam à linha inferior.
populateTopRow_() protected Crie todos os elementos não espaçadores que pertençam à linha superior.
recordElemPositions_(row) protected Registra as informações de posição final nos elementos da linha especificada para uso no desenho. No mínimo, ela registra xPos e a linha central em cada elemento.
shouldStartNewRow_(currInput, prevInput) protected Decida se deseja iniciar uma nova linha entre os dois Blockly.Inputs.