summaryrefslogtreecommitdiffstats
path: root/gfx/docs/Moz2D.rst
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /gfx/docs/Moz2D.rst
parentInitial commit. (diff)
downloadfirefox-upstream/124.0.1.tar.xz
firefox-upstream/124.0.1.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'gfx/docs/Moz2D.rst')
-rw-r--r--gfx/docs/Moz2D.rst16
1 files changed, 16 insertions, 0 deletions
diff --git a/gfx/docs/Moz2D.rst b/gfx/docs/Moz2D.rst
new file mode 100644
index 0000000000..0be251a209
--- /dev/null
+++ b/gfx/docs/Moz2D.rst
@@ -0,0 +1,16 @@
+Moz2D
+========================
+
+The `gfx/2d` contains our abstraction of a typical 2D API (similar
+to the HTML Canvas API). It has different backends used for different
+purposes. Direct2D is used for implementing hardware accelerated
+canvas on Windows. Skia is used for any software drawing needs and
+Cairo is used for printing.
+
+Previously, Moz2D aimed to be buildable independently from the rest of
+Gecko but we've slipped from this because C++/Gecko don't have a good
+mechanism for modularization/dependencies. That being said, we still try
+to keep the coupling with the rest of Gecko low for hygiene, simplicity
+and perhaps a more modular future.
+
+See also `Moz2D documentation on wiki <https://wiki.mozilla.org/Platform/GFX/Moz2D>`.