aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/protocol.lisp
blob: bd436e669d17991ff4fa8c7143ab5d3c4ddc2916 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
;;;; protocol.lisp

(in-package #:wheelwork)

(defgeneric boot (app)
  (:documentation "Specialized for each subclass of
  APPLICATION. Responsble for setting the app up once the system
  resoruces are avaialble."))

(defgeneric shutdown (app)
  (:documentation "Specialzied for each subclass of
  APPLICATION. Called just before cleanup.")
  (:method ((any t)) nil))

(defgeneric cleanup (thing)
  (:documentation "Clean up applications, textures, and other foreign
  resources. Called after shutodown.")
  (:method ((any t)) nil))

(defgeneric drop-unit (unit)
  (:documentation "Removes a unit from a container."))
(defgeneric add-unit (container unit)
  (:documentation "Adds a unit to a container, removing it from its
  current container first, if necessary."))

(defgeneric render (thing)
  (:documentation "Renders thing for visual display."))

(defgeneric model-matrix (thing)
  (:documentation "Returns the model matrix for THING, representing
  its position, scale, and orientation in the scene"))

(defgeneric ensure-loaded (asset)
  (:documentation "Ensures that the asset is loaded into memory and
  ready for use. Returns the asset."))

(defgeneric scale-by (thing amount)
  (:documentation "Scale horizontal and vertical dimensions of THING by AMOUNT"))

(defgeneric width (thing)
  (:documentation "Returns the effective width, in screen coordinates, of the object in question"))

(defgeneric (setf width) (new-width thing)
  (:documentation "Sets the effective width of thing to new-width."))

(defgeneric height (thing)
  (:documentation "Returns effective height, in screen coordinates, of the object in question."))

(defgeneric (setf height) (new-height thing)
  (:documentation "sets the effective height of thing to new-height"))

(defgeneric rotation (thing))
(defgeneric (setf rotation) (newval thing))
(defgeneric x (thing))
(defgeneric (setf x) (newval thing))
(defgeneric y (thing))
(defgeneric (setf y) (newval thing))
(defgeneric scale-x (thing))
(defgeneric (setf scale-x) (newvval thing))
(defgeneric scale-y (thing))
(defgeneric (setf scale-y) (newval thing))