package tiny_appkits

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Block_layoutSource

Sourcetype step =
  1. | At of int
  2. | Mouth of int
  3. | Arg of int
Sourcetype path = {
  1. script : int;
  2. steps : step list;
}
Sourcetype piece =
  1. | Body of {
    1. path : path;
    2. spec : Scratch_blocks.spec;
    3. x : float;
    4. y : float;
    5. w : float;
    6. h : float;
    7. mouths : (float * float) list;
    }
  2. | Label of {
    1. x : float;
    2. y : float;
    3. text : string;
    }
  3. | Slot of {
    1. path : path;
    2. part : Scratch_blocks.part;
    3. x : float;
    4. y : float;
    5. w : float;
    6. h : float;
    7. text : string;
    }
Sourcetype target =
  1. | Below of path
  2. | Above of int
  3. | In_mouth of path * int
Sourceval arm : float
Sourceval snap_distance : float
Sourceval size : measure:(string -> float) -> Scratch_blocks.block -> float * float
Sourceval height : measure:(string -> float) -> Scratch_blocks.block list -> float
Sourceval width : measure:(string -> float) -> Scratch_blocks.block list -> float
Sourceval layout : measure:(string -> float) -> Scratch_blocks.script list -> piece list * (target * (float * float)) list
Sourceval snap : measure:(string -> float) -> Scratch_blocks.script list -> Scratch_blocks.block list -> at:(float * float) -> target option
Sourceval block_at : piece list -> (float * float) -> path option
Sourceval slot_at : piece list -> (float * float) -> path option