Skip to content

Commit 3bc580c

Browse files
authored
Merge pull request verilog-to-routing#3045 from verilog-to-routing/ezgl_doxygen
Add ezgl Doxygen api documentation to to the VTR docs
2 parents 91e544d + c67160d commit 3bc580c

13 files changed

+169
-0
lines changed

doc/_doxygen/ezgl.dox

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
PROJECT_NAME = "Verilog to Routing - EZGL"
2+
OUTPUT_DIRECTORY = ../_build/doxygen/ezgl
3+
FULL_PATH_NAMES = NO
4+
OPTIMIZE_OUTPUT_FOR_C = YES
5+
EXTRACT_ALL = YES
6+
EXTRACT_PRIVATE = YES
7+
EXTRACT_STATIC = YES
8+
WARN_IF_UNDOCUMENTED = NO
9+
INPUT = ../../libs/EXTERNAL/libezgl
10+
RECURSIVE = YES
11+
GENERATE_HTML = NO
12+
GENERATE_LATEX = NO
13+
GENERATE_XML = YES

doc/src/api/ezgl/application.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
===========
2+
Application
3+
===========
4+
5+
.. doxygenfile:: application.hpp
6+
:project: ezgl

doc/src/api/ezgl/callback.rst

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
=========
2+
Callbacks
3+
=========
4+
5+
This module provides callback functions for handling keyboard and mouse input, as well as predefined button actions in EZGL applications.
6+
7+
Input Event Callbacks
8+
--------------------
9+
10+
.. doxygenfunction:: press_key
11+
:project: ezgl
12+
13+
.. doxygenfunction:: press_mouse
14+
:project: ezgl
15+
16+
.. doxygenfunction:: release_mouse
17+
:project: ezgl
18+
19+
.. doxygenfunction:: move_mouse
20+
:project: ezgl
21+
22+
.. doxygenfunction:: scroll_mouse
23+
:project: ezgl
24+
25+
Button Action Callbacks
26+
----------------------
27+
28+
.. doxygenfunction:: press_zoom_fit
29+
:project: ezgl
30+
31+
.. doxygenfunction:: press_zoom_in
32+
:project: ezgl
33+
34+
.. doxygenfunction:: press_zoom_out
35+
:project: ezgl
36+
37+
Navigation Callbacks
38+
------------------
39+
40+
.. doxygenfunction:: press_up
41+
:project: ezgl
42+
43+
.. doxygenfunction:: press_down
44+
:project: ezgl
45+
46+
.. doxygenfunction:: press_left
47+
:project: ezgl
48+
49+
.. doxygenfunction:: press_right
50+
:project: ezgl
51+
52+
Other Callbacks
53+
-------------
54+
55+
.. doxygenfunction:: press_proceed
56+
:project: ezgl

doc/src/api/ezgl/camera.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
======
2+
Camera
3+
======
4+
.. doxygenfile:: camera.hpp
5+
:project: ezgl

doc/src/api/ezgl/canvas.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
======
2+
Canvas
3+
======
4+
.. doxygenfile:: canvas.hpp
5+
:project: ezgl

doc/src/api/ezgl/color.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
=====
2+
Color
3+
=====
4+
.. doxygenfile:: color.hpp
5+
:project: ezgl

doc/src/api/ezgl/control.rst

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
=======
2+
Control
3+
=======
4+
5+
Functions to manipulate what is visible on the EZGL canvas. These functions are used by EZGL's predefined buttons, but application code can also call them directly when needed.
6+
7+
Zoom Functions
8+
-------------
9+
10+
.. doxygenfunction:: ezgl::zoom_in(canvas*, double)
11+
:project: ezgl
12+
13+
.. doxygenfunction:: ezgl::zoom_out(canvas*, double)
14+
:project: ezgl
15+
16+
.. doxygenfunction:: ezgl::zoom_in(canvas*, point2d, double)
17+
:project: ezgl
18+
19+
.. doxygenfunction:: ezgl::zoom_out(canvas*, point2d, double)
20+
:project: ezgl
21+
22+
.. doxygenfunction:: ezgl::zoom_fit
23+
:project: ezgl
24+
25+
Translation Functions
26+
--------------------
27+
28+
.. doxygenfunction:: ezgl::translate
29+
:project: ezgl
30+
31+
.. doxygenfunction:: ezgl::translate_up
32+
:project: ezgl
33+
34+
.. doxygenfunction:: ezgl::translate_down
35+
:project: ezgl
36+
37+
.. doxygenfunction:: ezgl::translate_left
38+
:project: ezgl
39+
40+
.. doxygenfunction:: ezgl::translate_right
41+
:project: ezgl

doc/src/api/ezgl/graphics.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
========
2+
Graphics
3+
========
4+
.. doxygenfile:: graphics.hpp
5+
:project: ezgl

doc/src/api/ezgl/index.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
.. _ezgl:
2+
3+
====
4+
EZGL
5+
====
6+
7+
EZGL is a graphics layer on top of version 3.x of the GTK graphics library. It allows drawing in an arbitrary 2D world coordinate space (instead of in pixel coordinates), handles panning and zooming automatically, and provides easy-to-use functions for common tasks like setting up a window, setting graphics attributes (like colour and line style) and drawing primitives (like lines and polygons). Most of VPR's drawing is performed in ezgl, and GTK functionality not exposed by ezgl can still be accessed by directly calling the relevant gtk functions.
8+
9+
.. toctree::
10+
:maxdepth: 1
11+
12+
application
13+
callback
14+
camera
15+
canvas
16+
color
17+
control
18+
graphics
19+
point
20+
rectangle

doc/src/api/ezgl/point.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
=====
2+
Point
3+
=====
4+
.. doxygenfile:: point.hpp
5+
:project: ezgl
6+

doc/src/api/ezgl/rectangle.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
=========
2+
Rectangle
3+
=========
4+
.. doxygenfile:: rectangle.hpp
5+
:project: ezgl

doc/src/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@
155155
"odin_ii": "../_build/doxygen/odin_ii/xml",
156156
"blifexplorer": "../_build/doxygen/blifexplorer/xml",
157157
"librrgraph": "../_build/doxygen/librrgraph/xml",
158+
"ezgl": "../_build/doxygen/ezgl/xml"
158159
}
159160
breathe_default_project = "vpr"
160161

doc/src/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ For more specific documentation about VPR see :ref:`vpr`.
6262

6363
api/vpr/index
6464
api/vtrutil/index
65+
api/ezgl/index
6566
api/vprinternals/index
6667

6768
Indices and tables

0 commit comments

Comments
 (0)