You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
namespace SmoulderingBeachBall.Domain
|
|
|
|
|
|
|
|
[<AutoOpen>]
|
|
|
|
/// A collection of types used to describe a Smouldering Beach Ball image.
|
|
|
|
module DomainTypes =
|
|
|
|
|
|
|
|
open System.Drawing
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The type of overly the image should have.
|
|
|
|
/// Border creates a border around the base image.
|
|
|
|
/// Full creates a border and a 'X' over the base image.
|
|
|
|
/// </summary>
|
|
|
|
type OverlayType =
|
|
|
|
| Border
|
|
|
|
| Full
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The specification for the overlay.
|
|
|
|
/// You define the overlays colour and overlay type here.
|
|
|
|
/// </summary>
|
|
|
|
type OverlaySpec =
|
|
|
|
{ colour: Brush;
|
|
|
|
overlayType: OverlayType }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The specification for the whole image.
|
|
|
|
/// Set the width, height, colour, save location and overlay here.
|
|
|
|
/// The overlay requires an OverlaySpec if an overlay is desired.
|
|
|
|
/// To create an image without an overlay, just use 'None'.
|
|
|
|
/// </summary>
|
|
|
|
type ImageSpec =
|
|
|
|
{ width: int;
|
|
|
|
height: int;
|
|
|
|
colour: Brush;
|
|
|
|
filePath: string;
|
|
|
|
overlay: OverlaySpec option }
|