Vuo  2.3.2
VuoImageText.h
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #ifdef __cplusplus
13 extern "C"
14 {
15 #endif
16 
17 #include "VuoImage.h"
18 #include "VuoFont.h"
19 #include "VuoAnchor.h"
20 
26 typedef struct _VuoImageTextData
27 {
28  VuoReal width;
29  VuoReal height;
30  VuoReal lineHeight;
31  VuoRectangle bounds;
32  VuoRectangle transformedBounds;
33  VuoPoint2d transformedCorners[4];
34  unsigned int lineCount;
35  unsigned int* lineCounts;
36  VuoRectangle* lineBounds;
37  VuoReal *lineWidthsExcludingTrailingWhitespace;
38  VuoReal *lineXOrigins;
39  VuoReal* charAdvance;
40  unsigned int charCount;
41  VuoHorizontalAlignment horizontalAlignment;
42 
43  VuoAnchor billboardAnchor;
45 
47 void VuoImageTextData_free(void* data);
48 void VuoImageTextData_convertToVuoCoordinates(VuoImageTextData textData, VuoReal screenWidthInPixels, VuoReal backingScaleFactor);
49 VuoPoint2d VuoImageTextData_getPositionForLineIndex(VuoImageTextData textData, unsigned int lineIndex);
50 VuoPoint2d VuoImageTextData_getPositionForCharIndex(VuoImageTextData textData, unsigned int charIndex, unsigned int* lineIndex);
51 int VuoImageTextData_getNearestCharToPoint(VuoImageTextData textData, VuoPoint2d point);
52 VuoRectangle* VuoImageTextData_getRectsForHighlight(VuoImageTextData textData, unsigned int selectionStartIndex, unsigned int selectionLength, unsigned int* lineCount);
53 VuoRectangle VuoImageTextData_layoutRowAtIndex(VuoImageTextData textData, unsigned int index, unsigned int* charactersRemaining);
54 unsigned int VuoImageTextData_getCharIndexForLine(VuoImageTextData textData, unsigned int lineIndex);
55 VuoReal VuoImageText_getLineHeight(VuoFont font, VuoReal screenWidthInPixels, VuoReal backingScaleFactor);
56 VuoReal VuoImageText_getVerticalScale(VuoReal screenWidth, VuoReal screenBackingScaleFactor);
57 
58 VuoImageTextData VuoImage_getTextImageData(VuoText text, VuoFont font, VuoReal backingScaleFactor, VuoReal verticalScale, VuoReal rotation, bool includeTrailingWhiteSpace);
59 VuoRectangle VuoImage_getTextRectangle(VuoText text, VuoFont font, VuoReal backingScaleFactor, VuoReal verticalScale, VuoReal rotation, float wrapWidth, bool includeTrailingWhiteSpace);
60 VuoPoint2d VuoImageText_getTextSize(VuoText text, VuoFont font, VuoPoint2d windowSize, VuoReal backingScaleFactor, bool includeTrailingWhiteSpace);
61 VuoImage VuoImage_makeText(VuoText text, VuoFont font, float backingScaleFactor, float verticalScale, float rotation, float wrapWidth, VuoPoint2d *outCorners);
62 
63 #ifdef __cplusplus
64 }
65 #endif