Difference between revisions of "BGRABitmap Types imported from Graphics"

From Lazarus wiki
Jump to navigationJump to search
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
Here is the list of types imported from the LCL unit called [http://lazarus-ccr.sourceforge.net/docs/lcl/graphics/index.html Graphics]. If the LCL is not present, those types are defined to provide their basic features.
+
[[Category: BGRABitmap]]
 +
Back to [[BGRABitmap]].
 +
 
 +
Here is the list of types in ''BGRAGraphics'' unit. They are imported from the LCL unit called [http://lazarus-ccr.sourceforge.net/docs/lcl/graphics/index.html Graphics]. They are imported by ''BGRABitmapTypes'' unit so that you don't need to add explicitely this unit to the uses clause.
 +
 
 +
If the LCL is not present, those types are defined to provide their basic features.
  
 
=== Types imported from Graphics ===
 
=== Types imported from Graphics ===
<table style="border-collapse: collapse;"><tr style="background: white;"><td colspan="3">''PColor'' = ^TColor;</td></tr>
+
<table style="border-collapse: collapse;">
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Pointer to a ''TColor'' value</td></tr>
+
<tr style="background: white;"><td colspan="3">''PColor'' = ^TColor;</td></tr>
<tr style="height: 8px;"><td colspan="3"></td></tr>
+
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Pointer to a TColor value.<p> TColor contains a color stored as RGB. The red/green/blue values range from 0 to 255. The formula to get the color value is:<p> ''color'' = ''red'' + (''green'' '''shl''' 8) + (''blue'' '''shl''' 16)<p> except with fpGUI where it is:<p> ''color'' = (''red'' '''shl''' 16) + (''green'' '''shl''' 8) + ''blue''</td></tr>
<tr style="background: #f0f0ff;"><td colspan="3">''TColor'' = DWord;</td></tr>
 
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Contains a color stored as RGB. The red/green/blue values range from 0 to 255. The formula to get the color value is <br/>''color'' = ''red'' + (''green'' '''shl''' 8) + (''blue'' '''shl''' 8)</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' FPColorToTColor('''const''' FPColor: TFPColor): TColor;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a ''TFPColor'' into a ''TColor'' value</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' TColorToFPColor('''const''' c: TColor): TFPColor;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a ''TColor'' into a ''TFPColor'' value</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: white;"><td colspan="3">''TGradientDirection'' = (</td></tr>
 
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Direction of change in a gradient</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''gdVertical'',</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Color changes vertically</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''gdHorizontal''</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Color changes horizontally</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TAntialiasingMode'' = (</td></tr>
 
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Antialiasing mode for a Canvas</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''amDontCare'',</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">It does not matter if there is antialiasing or not</td></tr>
 
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''amOn'',</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''function''' FPColorToTColor('''const''' FPColor: TFPColor): TColor;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Antialiasing is required (BGRACanvas provide it)</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a TFPColor into a TColor value</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: white;">''amOff''</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''function''' TColorToFPColor('''const''' c: TColor): TFPColor;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Antialiasing is disabled</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Converts a TColor into a TFPColor value</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr style="background: #f0f0ff;"><td colspan="3">''TPenEndCap'' = (</td></tr>
+
<tr style="background: #f0f0ff;"><td colspan="3">''TGradientDirection'' = (</td></tr>
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">How to draw the end of line</td></tr>
+
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Direction of change in a gradient</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: white;">''pecRound'',</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: white;">''gdVertical'',</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Draw a half-disk at the end of the line. The diameter of the disk is equal to the pen width.</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Color changes vertically</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''pecSquare'',</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''gdHorizontal'');</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Draw a half-square. The size of the square is equal to the pen width. This is visually equivalent to extend the line of half the pen width</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Color changes horizontally</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: white;">''pecFlat''</td></tr>
+
<tr style="background: white;"><td colspan="3">''TAntialiasingMode'' = (</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">The line ends exactly at the end point</td></tr>
+
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Antialiasing mode for a Canvas</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr style="background: #f0f0ff;"><td colspan="3">''TPenJoinStyle'' = (</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''amDontCare'',</td></tr>
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">How to join segments. This makes sense only for geometric pens (that have a certain width)</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">It does not matter if there is antialiasing or not</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: white;">''pjsRound'',</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: white;">''amOn'',</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Segments are joined by filling the gap with an arc</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Antialiasing is required (BGRACanvas provide it)</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''pjsBevel'',</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''amOff'');</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Segments are joind by filling the gap with an intermediary segment</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Antialiasing is disabled</td></tr>
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''pjsMiter''</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Segments are joined by extending them up to their intersection. There is a miter limit so that if the intersection is too far, an intermediary segment is used</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TPenStyle'' = TFPPenStyle;</td></tr>
 
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Style to use for the pen. The unit for the pattern is the width of the line</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''psSolid'' = FPCanvas.psSolid;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Pen is continuous</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''psDash'' = FPCanvas.psDash;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Pen is dashed. The dash have a length of 3 unit and the gaps of 1 unit</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''psDot'' = FPCanvas.psDot;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Pen is dotted. The dots have a length of 1 unit and the gaps of 1 unit</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''psDashDot'' = FPCanvas.psDashDot;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Pattern is a dash of length 3 followed by a dot of length 1, separated by a gap of length 1</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''psDashDotDot'' = FPCanvas.psDashDotDot;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Dash of length 3, and two dots of length 1</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''psClear'' = FPCanvas.psClear;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Pen is not drawn</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''psInsideframe'' = FPCanvas.psInsideframe;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Not used. Provided for compatibility</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''psPattern'' = FPCanvas.psPattern;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Custom pattern used</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: white;"><td colspan="3">''TPen'' = '''class'''(TFPCustomPen)</td></tr>
 
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">A class containing a pen</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''property''' Color: TColor '''read''' GetColor '''write''' SetColor;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Color of the pen</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''property''' EndCap: TPenEndCap '''read''' FEndCap '''write''' SetEndCap;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">End cap of the pen: how to draw the ends of the lines</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''property''' JoinStyle: TPenJoinStyle '''read''' FJoinStyle '''write''' SetJoinStyle;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Join style: how to join the segments of a polyline</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''property''' Style : TPenStyle;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Pen style: solid, dash, dot...</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''property''' Width : Integer;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;"></td></tr>
 
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: white;"><td colspan="3">''TTextLayout'' = (tlTop, tlCenter, tlBottom);</td></tr>
 
<tr style="background: white;"><td colspan="3">''TTextLayout'' = (tlTop, tlCenter, tlBottom);</td></tr>
Line 161: Line 95:
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Adds or subtract 1 depending on the order of the points of the polygons (clockwise or counter clockwise) and fill when the result is non-zero. So, to draw a hole, you must specify the points of the hole in the opposite order</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Adds or subtract 1 depending on the order of the points of the polygons (clockwise or counter clockwise) and fill when the result is non-zero. So, to draw a hole, you must specify the points of the hole in the opposite order</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr style="background: #f0f0ff;"><td colspan="3">''TBrushStyle'' = TFPBrushStyle;</td></tr>
+
<tr style="background: #f0f0ff;"><td colspan="3">''TFontStyle'' = (</td></tr>
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Pattern when filling with a brush. It is used in BGRACanvas but can also be created with TBGRABitmap.CreateBrushTexture function</td></tr>
+
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Available font styles</td></tr>
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''bsSolid'' = FPCanvas.bsSolid;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Fill with the current color</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''bsClear'' = FPCanvas.bsClear;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Does not fill at all</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''bsHorizontal'' = FPCanvas.bsHorizontal;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Draw horizontal lines</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''bsVertical'' = FPCanvas.bsVertical;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Draw vertical lines</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''bsFDiagonal'' = FPCanvas.bsFDiagonal;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Draw diagonal lines from top-left to bottom-right</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''bsBDiagonal'' = FPCanvas.bsBDiagonal;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Draw diagonal lines from bottom-left to top-right</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">''bsCross'' = FPCanvas.bsCross;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Draw both horizontal and vertical lines</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''bsDiagCross'' = FPCanvas.bsDiagCross;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Draw both diagonal lines</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: white;"><td colspan="3">''TBrush'' = '''class'''(TFPCustomBrush)</td></tr>
 
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">A class describing a brush</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''property''' Color: TColor '''read''' GetColor '''write''' SetColor;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Color of the brush</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''property''' Style : TBrushStyle;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Style of the brush: solid, diagonal lines, horizontal lines...</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: #f0f0ff;"><td colspan="3">''TCanvas'' = '''class'''</td></tr>
 
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">A surface on which to draw</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''procedure''' Draw(x,y: integer; AImage: TGraphic);</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Draw an image with top-left corner at (''x'',''y'')</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''procedure''' StretchDraw(ARect: TRect; AImage: TGraphic);</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Draw and stretch an image within the rectangle ''ARect''</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="background: white;"><td colspan="3">''TGraphic'' = '''class'''(TPersistent)</td></tr>
 
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">A class containing any element that can be drawn within rectangular bounds</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''procedure''' LoadFromFile({%H-}'''const''' Filename: '''string'''); virtual;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Load the content from a given file</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''procedure''' LoadFromStream(Stream: TStream); virtual; abstract;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Load the content from a given stream</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''procedure''' SaveToFile({%H-}'''const''' Filename: '''string'''); virtual;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Saves the content to a file</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''procedure''' SaveToStream(Stream: TStream); virtual; abstract;</td></tr>
 
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Saves the content into a given stream</td></tr>
 
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''class''' '''function''' GetFileExtensions: '''string'''; virtual;</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: white;">''fsBold'',</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns the list of possible file extensions</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Font is bold</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''procedure''' Clear; virtual;</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''fsItalic'',</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Clears the content</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Font is italic</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''property''' Empty: Boolean '''read''' GetEmpty;</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: white;">''fsStrikeOut'',</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns if the content is completely empty</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">An horizontal line is drawn in the middle of the text</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''property''' Height: Integer '''read''' GetHeight '''write''' SetHeight;</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''fsUnderline'');</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns the height of the bounding rectangle</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Text is underlined</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''property''' Width: Integer '''read''' GetWidth '''write''' SetWidth;</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: white;">''TFontStyles'' = '''set''' '''of''' TFontStyle;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns the width of the bounding rectangle</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">A combination of font styles</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''property''' Transparent: Boolean '''read''' GetTransparent '''write''' SetTransparent;</td></tr>
+
<tr style="background: #f0f0ff;"><td colspan="3">''TFontQuality'' = (fqDefault, fqDraft, fqProof, fqNonAntialiased, fqAntialiased, fqCleartype, fqCleartypeNatural);</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Gets or sets if it is drawn with transparency</td></tr>
+
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Quality to use when font is rendered by the system</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr style="background: #f0f0ff;"><td colspan="3">''TBitmap'' = '''class'''(TGraphic)</td></tr>
+
<tr style="background: white;"><td colspan="3">''TCanvas'' = '''class'''</td></tr>
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Contains a bitmap</td></tr>
+
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">A surface on which to draw</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''property''' Width: integer '''read''' GetWidth '''write''' SetWidth;</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''procedure''' Draw(x,y: integer; AImage: TGraphic);</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Width of the bitmap in pixels</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Draw an image with top-left corner at (''x'', ''y'')</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''property''' Height: integer '''read''' GetHeight '''write''' SetHeight;</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''procedure''' StretchDraw(ARect: TRect; AImage: TGraphic);</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Height of the bitmap in pixels</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Draw and stretch an image within the rectangle ''ARect''</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr style="background: white;"><td colspan="3">''TFontStyle'' = (</td></tr>
+
<tr style="background: #f0f0ff;"><td colspan="3">''TGraphic'' = '''class'''(TPersistent)</td></tr>
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Available font styles</td></tr>
+
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">A class containing any element that can be drawn within rectangular bounds</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''fsBold'',</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''procedure''' LoadFromFile('''const''' Filename: '''string'''); '''virtual''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Font is bold</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Load the content from a given file</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: white;">''fsItalic'',</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''procedure''' LoadFromStream(Stream: TStream); '''virtual'''; '''abstract''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Font is italic</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Load the content from a given stream</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''fsStrikeOut'',</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''procedure''' SaveToFile('''const''' Filename: '''string'''); '''virtual''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">An horizontal line is drawn in the middle of the text</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Saves the content to a file</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: white;">''fsUnderline'');</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''procedure''' SaveToStream(Stream: TStream); '''virtual'''; '''abstract''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Text is underlined</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Saves the content into a given stream</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">''TFontStyles'' = set '''of''' TFontStyle;</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''class''' '''function''' GetFileExtensions: '''string'''; '''virtual''';</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">A combination of font styles</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns the list of possible file extensions</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr style="background: white;"><td colspan="3">''TFontQuality'' = (fqDefault, fqDraft, fqProof, fqNonAntialiased, fqAntialiased, fqCleartype, fqCleartypeNatural);</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''procedure''' Clear; '''virtual''';</td></tr>
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Quality to use when font is rendered by the system</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Clears the content</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr style="background: #f0f0ff;"><td colspan="3">''TFont'' = '''class'''(TFPCustomFont)</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''property''' Empty: Boolean '''read''' GetEmpty;</td></tr>
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Contains the description of a font</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns if the content is completely empty</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''property''' PixelsPerInch: Integer '''read''' FPixelsPerInch '''write''' FPixelsPerInch;</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''property''' Height: Integer '''read''' GetHeight '''write''' SetHeight;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Pixels per inches</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns the height of the bounding rectangle</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''property''' Color: TColor '''read''' GetColor '''write''' SetColor;</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''property''' Width: Integer '''read''' GetWidth '''write''' SetWidth;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Color of the font</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Returns the width of the bounding rectangle</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''property''' Height: Integer '''read''' GetHeight '''write''' SetHeight;</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''property''' Transparent: Boolean '''read''' GetTransparent '''write''' SetTransparent;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Height of the font in pixels. When the number is negative, it indicates a size in pixels</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Gets or sets if it is drawn with transparency</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''property''' Size: Integer '''read''' GetSize '''write''' SetSize;</td></tr>
+
<tr style="background: white;"><td colspan="3">''TBitmap'' = '''class'''(TGraphic)</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Size of the font in inches. When the number is negative, it indicates a height in inches</td></tr>
+
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Contains a bitmap</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''property''' Quality: TFontQuality '''read''' FQuality '''write''' SetQuality;</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''property''' Width: integer '''read''' GetWidth '''write''' SetWidth;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Quality of the font rendering</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Width of the bitmap in pixels</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr><td width="10%"></td><td colspan="2" style="background: #f0f0ff;">'''property''' Style: TFontStyles '''read''' GetStyle '''write''' SetStyle;</td></tr>
+
<tr><td width="10%"></td><td colspan="2" style="background: white;">'''property''' Height: integer '''read''' GetHeight '''write''' SetHeight;</td></tr>
<tr><td width="10%"></td><td width="10%" style="background: #f0f0ff;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Style to apply to the text</td></tr>
+
<tr><td width="10%"></td><td width="10%" style="background: white;"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;">Height of the bitmap in pixels</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr style="background: white;"><td colspan="3">'''function''' MulDiv(nNumber, nNumerator, nDenominator: Integer): Integer;</td></tr>
+
<tr style="background: #f0f0ff;"><td colspan="3">'''function''' MulDiv(nNumber, nNumerator, nDenominator: Integer): Integer;</td></tr>
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Multiply and divide the number allowing big intermediate number and rounding the result</td></tr>
+
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Multiply and divide the number allowing big intermediate number and rounding the result</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
<tr style="background: #f0f0ff;"><td colspan="3">'''function''' MathRound(AValue: ValReal): Int64; '''inline''';</td></tr>
+
<tr style="background: white;"><td colspan="3">'''function''' MathRound(AValue: ValReal): Int64; '''inline''';</td></tr>
<tr style="background: #f0f0ff;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Round the number using math convention</td></tr>
+
<tr style="background: white;"><td width="10%"></td><td style="border: 1px solid #e0e0a0; background: #ffffe4;" colspan="2">Round the number using math convention</td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
<tr style="height: 8px;"><td colspan="3"></td></tr>
 
</table>
 
</table>

Latest revision as of 19:04, 14 December 2023

Back to BGRABitmap.

Here is the list of types in BGRAGraphics unit. They are imported from the LCL unit called Graphics. They are imported by BGRABitmapTypes unit so that you don't need to add explicitely this unit to the uses clause.

If the LCL is not present, those types are defined to provide their basic features.

Types imported from Graphics

PColor = ^TColor;
Pointer to a TColor value.

TColor contains a color stored as RGB. The red/green/blue values range from 0 to 255. The formula to get the color value is:

color = red + (green shl 8) + (blue shl 16)

except with fpGUI where it is:

color = (red shl 16) + (green shl 8) + blue

function FPColorToTColor(const FPColor: TFPColor): TColor;
Converts a TFPColor into a TColor value
function TColorToFPColor(const c: TColor): TFPColor;
Converts a TColor into a TFPColor value
TGradientDirection = (
Direction of change in a gradient
gdVertical,
Color changes vertically
gdHorizontal);
Color changes horizontally
TAntialiasingMode = (
Antialiasing mode for a Canvas
amDontCare,
It does not matter if there is antialiasing or not
amOn,
Antialiasing is required (BGRACanvas provide it)
amOff);
Antialiasing is disabled
TTextLayout = (tlTop, tlCenter, tlBottom);
Vertical position of a text
TTextStyle = packed record
Styles to describe how a text is drawn in a rectangle
Alignment : TAlignment;
Horizontal alignment
Layout : TTextLayout;
Vertical alignment
SingleLine: boolean;
If WordBreak is false then process #13, #10 as standard chars and perform no Line breaking
Clipping : boolean;
Clip Text to passed Rectangle
ExpandTabs: boolean;
Replace #9 by apropriate amount of spaces (default is usually 8)
ShowPrefix: boolean;
Process first single '&' per line as an underscore and draw '&&' as '&'
Wordbreak : boolean;
If line of text is too long too fit between left and right boundaries try to break into multiple lines between words. See also EndEllipsis
Opaque : boolean;
Fills background with current brush
SystemFont: Boolean;
Use the system font instead of canvas font
RightToLeft: Boolean;
For RightToLeft text reading (Text Direction)
EndEllipsis: Boolean;
If line of text is too long to fit between left and right boundaries truncates the text and adds "...". If Wordbreak is set as well, Workbreak will dominate
TFillStyle =
Option for floodfill (used in BGRACanvas)
fsSurface,
Fill up to the color (it fills all except the specified color)
fsBorder
Fill the specified color (it fills only connected pixels of this color)
TFillMode = (
How to handle polygons that intersect with themselves and overlapping polygons
fmAlternate,
Each time a boundary is found, it enters or exit the filling zone
fmWinding);
Adds or subtract 1 depending on the order of the points of the polygons (clockwise or counter clockwise) and fill when the result is non-zero. So, to draw a hole, you must specify the points of the hole in the opposite order
TFontStyle = (
Available font styles
fsBold,
Font is bold
fsItalic,
Font is italic
fsStrikeOut,
An horizontal line is drawn in the middle of the text
fsUnderline);
Text is underlined
TFontStyles = set of TFontStyle;
A combination of font styles
TFontQuality = (fqDefault, fqDraft, fqProof, fqNonAntialiased, fqAntialiased, fqCleartype, fqCleartypeNatural);
Quality to use when font is rendered by the system
TCanvas = class
A surface on which to draw
procedure Draw(x,y: integer; AImage: TGraphic);
Draw an image with top-left corner at (x, y)
procedure StretchDraw(ARect: TRect; AImage: TGraphic);
Draw and stretch an image within the rectangle ARect
TGraphic = class(TPersistent)
A class containing any element that can be drawn within rectangular bounds
procedure LoadFromFile(const Filename: string); virtual;
Load the content from a given file
procedure LoadFromStream(Stream: TStream); virtual; abstract;
Load the content from a given stream
procedure SaveToFile(const Filename: string); virtual;
Saves the content to a file
procedure SaveToStream(Stream: TStream); virtual; abstract;
Saves the content into a given stream
class function GetFileExtensions: string; virtual;
Returns the list of possible file extensions
procedure Clear; virtual;
Clears the content
property Empty: Boolean read GetEmpty;
Returns if the content is completely empty
property Height: Integer read GetHeight write SetHeight;
Returns the height of the bounding rectangle
property Width: Integer read GetWidth write SetWidth;
Returns the width of the bounding rectangle
property Transparent: Boolean read GetTransparent write SetTransparent;
Gets or sets if it is drawn with transparency
TBitmap = class(TGraphic)
Contains a bitmap
property Width: integer read GetWidth write SetWidth;
Width of the bitmap in pixels
property Height: integer read GetHeight write SetHeight;
Height of the bitmap in pixels
function MulDiv(nNumber, nNumerator, nDenominator: Integer): Integer;
Multiply and divide the number allowing big intermediate number and rounding the result
function MathRound(AValue: ValReal): Int64; inline;
Round the number using math convention