Método IInkRenderer::MeasureStroke (msinkaut.h)
Calcula o retângulo no contexto do dispositivo que conteria um traço se ele fosse desenhado com o objeto InkRenderer usando o método DrawStroke .
Sintaxe
HRESULT MeasureStroke(
[in] IInkStrokeDisp *Stroke,
[in, optional] IInkDrawingAttributes *DrawingAttributes,
[out, retval] IInkRectangle **Rectangle
);
Parâmetros
[in] Stroke
O traço a ser medido.
[in, optional] DrawingAttributes
Opcional. O InkDrawingAttributes a ser usado ao calcular o retângulo, que substitui os atributos de desenho no traço. O valor padrão é NULL, o que significa que o traço é medido usando seus próprios atributos de desenho.
[out, retval] Rectangle
Quando esse método retorna, contém um ponteiro para o retângulo no contexto do dispositivo que conteria o traço se o traço fosse desenhado com o método DrawStroke do objeto InkRenderer . O traço deve conter coordenadas x e y para calcular o retângulo. Caso contrário, o método retorna um retângulo vazio.
Retornar valor
Esse método pode retornar um desses valores.
Código de retorno | Descrição |
---|---|
|
Êxito. |
|
O objeto InkRectangle não está registrado no sistema. |
|
IInkStrokeDisp não aponta para um objeto InkDisp compatível ou drawingAttributes é um parâmetro de entrada inválido. |
|
Ocorreu uma exceção dentro do método . |
|
Um parâmetro continha um ponteiro inválido. |
|
Identificador de exibição inválido. |
|
Parâmetro inesperado ou tipo de propriedade. |
Comentários
Isso só será preciso se você passar os mesmos argumentos para MeasureStroke e DrawStroke.
Como a caixa delimitadora é afetada pela largura da caneta, essa largura é dimensionada adequadamente para a transformação de exibição do InkRenderer. Para fazer isso, a largura da caneta é multiplicada pela raiz quadrada do determinante da transformação de exibição. A altura e a largura da caixa delimitadora são expandidas pela metade dessa quantidade em cada direção e os lados direito e inferior são incrementados por um.
Por exemplo, considere que a largura da caneta é originalmente 53, a raiz quadrada do determinante da transformação de exibição é 50 e a caixa delimitadora é (0, 0, 1000, 1000). O ajuste de largura da caneta para a caixa delimitadora em cada direção é calculado como (53 * 50) / 2, e os lados direito e inferior são incrementados por um. Isso resulta em uma caixa delimitadora renderizada de (-1325, -1325, 2326, 2326).
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP Tablet PC Edition [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Nenhum compatível |
Plataforma de Destino | Windows |
Cabeçalho | msinkaut.h |
Biblioteca | InkObj.dll |