about summary refs log tree commit diff stats
path: root/src/server/buffer.nim
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2024-12-19 23:42:26 +0100
committerbptato <nincsnevem662@gmail.com>2024-12-20 17:07:56 +0100
commit84ad5010cd955796238407ae767c9ba239683db6 (patch)
tree479c1cf2ed499537d692188902b5f55bd0f5ab5e /src/server/buffer.nim
parentd67d8dcd940de9419b83a57074908d695cb84828 (diff)
downloadchawan-84ad5010cd955796238407ae767c9ba239683db6.tar.gz
dom: add inline SVG support
Diffstat (limited to 'src/server/buffer.nim')
-rw-r--r--src/server/buffer.nim12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/server/buffer.nim b/src/server/buffer.nim
index 501a5d94..508bf66a 100644
--- a/src/server/buffer.nim
+++ b/src/server/buffer.nim
@@ -409,6 +409,10 @@ proc getCachedImageHover(buffer: Buffer; element: Element): string =
     let image = HTMLImageElement(element)
     if image.bitmap != nil and image.bitmap.cacheId != 0:
       return $image.bitmap.cacheId & ' ' & image.bitmap.contentType
+  elif element of SVGSVGElement:
+    let image = SVGSVGElement(element)
+    if image.bitmap != nil and image.bitmap.cacheId != 0:
+      return $image.bitmap.cacheId & ' ' & image.bitmap.contentType
   ""
 
 func getCursorStyledNode(buffer: Buffer; cursorx, cursory: int): StyledNode =
@@ -1753,8 +1757,12 @@ proc markURL*(buffer: Buffer; schemes: seq[string]) {.proxy.} =
 proc toggleImages0(buffer: Buffer): bool =
   buffer.config.images = not buffer.config.images
   buffer.window.images = buffer.config.images
-  for element in buffer.document.elements({TAG_IMG, TAG_IMAGE}):
-    buffer.window.loadResource(HTMLImageElement(element))
+  buffer.window.svgCache.clear()
+  for element in buffer.document.descendants:
+    if element of HTMLImageElement:
+      buffer.window.loadResource(HTMLImageElement(element))
+    elif element of SVGSVGElement:
+      buffer.window.loadResource(SVGSVGElement(element))
   buffer.savetask = true
   buffer.loadResources().then(proc() =
     if buffer.tasks[bcToggleImages] == 0:
ca22 ^
a16e6bd22 ^





a16e6bd22 ^



bc9749310 ^
830e0c000 ^

bc9749310 ^




a16e6bd22 ^

f4e0f64f8 ^
dd6c5f892 ^
a16e6bd22 ^
bc9749310 ^


a16e6bd22 ^

3ea644690 ^
45f9c5b94 ^
3ea644690 ^


a16e6bd22 ^

57dc4ca22 ^


1c9b4e5d3 ^
a16e6bd22 ^


5b32e31a2 ^
da825a0fe ^
168d0fe94 ^

52d3a8239 ^




















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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84