aboutsummaryrefslogtreecommitdiff
path: root/img/facade-audio.puml
blob: 67499155b55aca63600bb38d77509cf11e0dfd91 (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
@startuml
!include theme.ipuml
skinparam Linetype ortho


package crepe {
	package api {
		class Resource <<irrelevant>>
	}

	class Sound {
		+Sound(resource)
		--
		+pause()
		+play()
		+rewind()
		-volume : float <<+set>> <<+get>>
		-looping : bool <<+set>> <<+get>>
		--
		-sample : SoLoud::Wav
		-handle : SoLoud::handle
		--
		-load(resource)
	}

	class SoundContext <<Singleton>> {
		-instance() : SoundContext& <<static>>
		--
		-SoundContext()
		-~SoundContext()
		--
		-engine : SoLoud::Soloud
	}
}

package SoLoud {
	class Soloud <<irrelevant>>
	class Wav <<irrelevant>>
}

' layout
crepe -[hidden]down- SoLoud

crepe.Sound --> SoLoud.Wav
crepe.SoundContext --> SoLoud.Soloud

crepe.Sound .> crepe.SoundContext
crepe.SoundContext .> crepe.Sound

crepe.Sound .> crepe.api.Resource

@enduml