Create a quick and dirty style system.
This commit is contained in:
		
							parent
							
								
									c26dcfe3f3
								
							
						
					
					
						commit
						ecd31a5cde
					
				| @ -156,6 +156,11 @@ namespace Quik | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         public QuikLine Line { get; } |         public QuikLine Line { get; } | ||||||
|          |          | ||||||
|  |         /// <summary> | ||||||
|  |         /// Stroke style of the line. | ||||||
|  |         /// </summary> | ||||||
|  |         public QuikStrokeStyle Style { get; set; } | ||||||
|  | 
 | ||||||
|         /// <summary> |         /// <summary> | ||||||
|         /// Create a draw line command. |         /// Create a draw line command. | ||||||
|         /// </summary> |         /// </summary> | ||||||
| @ -179,6 +184,11 @@ namespace Quik | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         public QuikLine[] Lines { get; } |         public QuikLine[] Lines { get; } | ||||||
|          |          | ||||||
|  |         /// <summary> | ||||||
|  |         /// Stroke style of the lines. | ||||||
|  |         /// </summary> | ||||||
|  |         public QuikStrokeStyle Style { get; set; } | ||||||
|  | 
 | ||||||
|         /// <summary> |         /// <summary> | ||||||
|         /// Create a draw lines command. |         /// Create a draw lines command. | ||||||
|         /// </summary> |         /// </summary> | ||||||
| @ -202,6 +212,11 @@ namespace Quik | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         public QuikBezier[] Segments; |         public QuikBezier[] Segments; | ||||||
|          |          | ||||||
|  |         /// <summary> | ||||||
|  |         /// Stroke style of the curve. | ||||||
|  |         /// </summary> | ||||||
|  |         public QuikStrokeStyle Style { get; set; } | ||||||
|  | 
 | ||||||
|         /// <summary> |         /// <summary> | ||||||
|         /// Create a draw Bezier curve command. |         /// Create a draw Bezier curve command. | ||||||
|         /// </summary> |         /// </summary> | ||||||
| @ -225,6 +240,21 @@ namespace Quik | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         public QuikRectangle Rectangle { get; } |         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> |         /// <summary> | ||||||
|         /// Create a draw rectangle command. |         /// Create a draw rectangle command. | ||||||
|         /// </summary> |         /// </summary> | ||||||
| @ -248,6 +278,21 @@ namespace Quik | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         public QuikRectangle[] Rectangles { get; } |         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> |         /// <summary> | ||||||
|         /// Create a draw rectangles commands. |         /// Create a draw rectangles commands. | ||||||
|         /// </summary> |         /// </summary> | ||||||
| @ -271,6 +316,16 @@ namespace Quik | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         public QuikEllipse Ellipse { get; } |         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> |         /// <summary> | ||||||
|         /// Create a draw ellipse command. |         /// Create a draw ellipse command. | ||||||
|         /// </summary> |         /// </summary> | ||||||
| @ -294,6 +349,16 @@ namespace Quik | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         public QuikEllipse[] Ellipses { get; } |         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> |         /// <summary> | ||||||
|         /// Create a draw ellipses command. |         /// Create a draw ellipses command. | ||||||
|         /// </summary> |         /// </summary> | ||||||
| @ -317,6 +382,16 @@ namespace Quik | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         public QuikTriangle Triangle { get; } |         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> |         /// <summary> | ||||||
|         /// Create a draw triangle command. |         /// Create a draw triangle command. | ||||||
|         /// </summary> |         /// </summary> | ||||||
| @ -340,6 +415,16 @@ namespace Quik | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         public QuikTriangle[] Triangles { get; } |         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> |         /// <summary> | ||||||
|         /// Create a draw triangles command. |         /// Create a draw triangles command. | ||||||
|         /// </summary> |         /// </summary> | ||||||
| @ -364,6 +449,16 @@ namespace Quik | |||||||
|         /// </summary> |         /// </summary> | ||||||
|         public QuikVec2[] Polygon { get; } |         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> |         /// <summary> | ||||||
|         /// Create a draw polygon command. |         /// Create a draw polygon command. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|  | |||||||
							
								
								
									
										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