Create a quick and dirty style system.
This commit is contained in:
		
							parent
							
								
									c26dcfe3f3
								
							
						
					
					
						commit
						ecd31a5cde
					
				| @ -155,6 +155,11 @@ namespace Quik | ||||
|         /// The line to draw. | ||||
|         /// </summary> | ||||
|         public QuikLine Line { get; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Stroke style of the line. | ||||
|         /// </summary> | ||||
|         public QuikStrokeStyle Style { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Create a draw line command. | ||||
| @ -178,6 +183,11 @@ namespace Quik | ||||
|         /// The array of lines to draw. | ||||
|         /// </summary> | ||||
|         public QuikLine[] Lines { get; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Stroke style of the lines. | ||||
|         /// </summary> | ||||
|         public QuikStrokeStyle Style { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Create a draw lines command. | ||||
| @ -201,6 +211,11 @@ namespace Quik | ||||
|         /// The Bezier curve segments to draw. | ||||
|         /// </summary> | ||||
|         public QuikBezier[] Segments; | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Stroke style of the curve. | ||||
|         /// </summary> | ||||
|         public QuikStrokeStyle Style { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Create a draw Bezier curve command. | ||||
| @ -224,6 +239,21 @@ namespace Quik | ||||
|         /// The rectangle to draw. | ||||
|         /// </summary> | ||||
|         public QuikRectangle Rectangle { get; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Stroke style of the border. | ||||
|         /// </summary> | ||||
|         public QuikStrokeStyle StrokeStyle { get; set; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Fill style of the contents. | ||||
|         /// </summary> | ||||
|         public QuikFillStyle FillStyle { get; set; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Radius for round corners. | ||||
|         /// </summary> | ||||
|         public float CornerRadius { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Create a draw rectangle command. | ||||
| @ -247,6 +277,21 @@ namespace Quik | ||||
|         /// The rectangles to draw. | ||||
|         /// </summary> | ||||
|         public QuikRectangle[] Rectangles { get; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Stroke style of the border. | ||||
|         /// </summary> | ||||
|         public QuikStrokeStyle StrokeStyle { get; set; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Fill style of the contents. | ||||
|         /// </summary> | ||||
|         public QuikFillStyle FillStyle { get; set; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Radius for round corners. | ||||
|         /// </summary> | ||||
|         public float CornerRadius { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Create a draw rectangles commands. | ||||
| @ -270,6 +315,16 @@ namespace Quik | ||||
|         /// The ellipse to draw. | ||||
|         /// </summary> | ||||
|         public QuikEllipse Ellipse { get; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Stroke style of the border. | ||||
|         /// </summary> | ||||
|         public QuikStrokeStyle StrokeStyle { get; set; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Fill style of the contents. | ||||
|         /// </summary> | ||||
|         public QuikFillStyle FillStyle { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Create a draw ellipse command. | ||||
| @ -293,6 +348,16 @@ namespace Quik | ||||
|         /// The ellipses to draw. | ||||
|         /// </summary> | ||||
|         public QuikEllipse[] Ellipses { get; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Stroke style of the border. | ||||
|         /// </summary> | ||||
|         public QuikStrokeStyle StrokeStyle { get; set; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Fill style of the contents. | ||||
|         /// </summary> | ||||
|         public QuikFillStyle FillStyle { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Create a draw ellipses command. | ||||
| @ -316,6 +381,16 @@ namespace Quik | ||||
|         /// The triangle to draw. | ||||
|         /// </summary> | ||||
|         public QuikTriangle Triangle { get; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Stroke style of the border. | ||||
|         /// </summary> | ||||
|         public QuikStrokeStyle StrokeStyle { get; set; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Fill style of the contents. | ||||
|         /// </summary> | ||||
|         public QuikFillStyle FillStyle { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Create a draw triangle command. | ||||
| @ -339,6 +414,16 @@ namespace Quik | ||||
|         /// The triangles to draw. | ||||
|         /// </summary> | ||||
|         public QuikTriangle[] Triangles { get; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Stroke style of the border. | ||||
|         /// </summary> | ||||
|         public QuikStrokeStyle StrokeStyle { get; set; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Fill style of the contents. | ||||
|         /// </summary> | ||||
|         public QuikFillStyle FillStyle { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Create a draw triangles command. | ||||
| @ -363,6 +448,16 @@ namespace Quik | ||||
|         /// The vertices that make up the polygon. | ||||
|         /// </summary> | ||||
|         public QuikVec2[] Polygon { get; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Stroke style of the border. | ||||
|         /// </summary> | ||||
|         public QuikStrokeStyle StrokeStyle { get; set; } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// Fill style of the contents. | ||||
|         /// </summary> | ||||
|         public QuikFillStyle FillStyle { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Create a draw polygon command. | ||||
|  | ||||
							
								
								
									
										70
									
								
								Quik/QuikStyle.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								Quik/QuikStyle.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,70 @@ | ||||
| namespace Quik | ||||
| { | ||||
|     /// <summary> | ||||
|     /// A line stipple pattern. | ||||
|     /// </summary> | ||||
|     public struct QuikStipplePattern | ||||
|     { | ||||
|         /// <summary> | ||||
|         /// The stipple pitch value. | ||||
|         /// </summary> | ||||
|         public float Pitch; | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// The stipple duty cycle. | ||||
|         /// </summary> | ||||
|         public float DutyCycle; | ||||
|          | ||||
|         public QuikStipplePattern(float pitch, float dutyCycle) | ||||
|         { | ||||
|             Pitch = pitch; | ||||
|             DutyCycle = dutyCycle; | ||||
|         } | ||||
|          | ||||
|         public static QuikStipplePattern None => new QuikStipplePattern(0.0f, 1.0f); | ||||
|     } | ||||
|      | ||||
|     /// <summary> | ||||
|     /// Stroke style for lines and borders. | ||||
|     /// </summary> | ||||
|     public class QuikStrokeStyle | ||||
|     { | ||||
|         /// <summary> | ||||
|         /// Stroke color. | ||||
|         /// </summary> | ||||
|         public QuikColor Color { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Stroke width. | ||||
|         /// </summary> | ||||
|         public float Width { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Stroke stipple pattern. | ||||
|         /// </summary> | ||||
|         public QuikStipplePattern StipplePattern { get; set; } | ||||
| 
 | ||||
|         public QuikStrokeStyle() | ||||
|         { | ||||
|         } | ||||
|          | ||||
|         public QuikStrokeStyle(QuikColor color, float width, QuikStipplePattern pattern) | ||||
|         { | ||||
|             Color = color; | ||||
|             Width = width; | ||||
|             StipplePattern = pattern; | ||||
|         } | ||||
| 
 | ||||
|         public QuikStrokeStyle(QuikColor color, float width) : this(color, width, QuikStipplePattern.None) | ||||
|         { | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     /// <summary> | ||||
|     /// Fill style for rectangles and the like. | ||||
|     /// </summary> | ||||
|     public class QuikFillStyle | ||||
|     { | ||||
|         public QuikColor Color { get; set; } | ||||
|     } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user