Skip to content

Commit 8e0d249

Browse files
committed
Added EZGL docs under API
1 parent 76eb26f commit 8e0d249

15 files changed

+172
-3
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ See the [full license](LICENSE.md) for details.
3636
## How to Cite
3737
The following paper may be used as a general citation for VTR:
3838

39-
M. A. Elgammal, A. Mohaghegh, S. G. Shahrouz, F. Mahmoudi, F. Kosar, K. Talaei, J. Fife, D. Khadivi, K. Murray, A. Boutros, K. B. Kent, J. Geoders, and V. Betz "VTR 9: Open-Source CAD for Fabric and Beyond FPGA Architecture Exploration", ACM TRETS, 2025. [PDF](https://dl.acm.org/doi/epdf/10.1145/3734798)
39+
M. A. Elgammal, A. Mohaghegh, S. G. Shahrouz, F. Mahmoudi, F. Kosar, K. Talaei, J. Fife, D. Khadivi, K. Murray, A. Boutros, K. B. Kent, J. Goeders, and V. Betz "VTR 9: Open-Source CAD for Fabric and Beyond FPGA Architecture Exploration", ACM TRETS, 2025. [PDF](https://dl.acm.org/doi/epdf/10.1145/3734798)
4040

4141
Bibtex:
4242
```

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+
EZGL 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

doc/src/zreferences.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ Publications & References
33

44
How to cite
55
-----------
6-
`M. A. Elgammal`, `A. Mohaghegh`, `S. G. Shahrouz`, `F. Mahmoudi`, `F. Kosar`, `K. Talaei`, `J. Fife`, `D. Khadivi`, `K. Murray`, `A. Boutros`, `K. B. Kent`, `J. Geoders`, and `V. Betz`, "VTR 9: Open-Source CAD for Fabric and Beyond FPGA Architecture Exploration," *ACM TRETS*, 2025. [`PDF <https://dl.acm.org/doi/epdf/10.1145/3734798>`__]
6+
`M. A. Elgammal`, `A. Mohaghegh`, `S. G. Shahrouz`, `F. Mahmoudi`, `F. Kosar`, `K. Talaei`, `J. Fife`, `D. Khadivi`, `K. Murray`, `A. Boutros`, `K. B. Kent`, `J. Goeders`, and `V. Betz`, "VTR 9: Open-Source CAD for Fabric and Beyond FPGA Architecture Exploration," *ACM TRETS*, 2025. [`PDF <https://dl.acm.org/doi/epdf/10.1145/3734798>`__]
77

88
Previous Publications
99
---------------------
1010
* `K. E. Murray`, `O. Petelin`, `S. Zhong`, `J. M. Wang`, `M. ElDafrawy`, `J.-P. Legault`, `E. Sha`, `A. G. Graham`, `J. Wu`, `M. J. P. Walker`, `H. Zeng`, `P. Patros`, `J. Luu`, `K. B. Kent` and `V. Betz`, "VTR 8: High Performance CAD and Customizable FPGA Architecture Modelling", *ACM TRETS*, 2020.
1111

12-
* `J. LUU`, `J. Geoders`, `M. Wainberg`, `A. Somerville`, `T. Yu`, `K. Nasartschuk`, `M. Nasr`, `S. Wang`, `T. L`, `N. Ahmed`, `K. B. Kent`, `J. Anderson`, `J. Rose`, `V. Betz`, "VTR 7.0: Next Generation Architecture and CAD System for FPGAs", *ACM TRETS*, 2014.
12+
* `J. LUU`, `J. Goeders`, `M. Wainberg`, `A. Somerville`, `T. Yu`, `K. Nasartschuk`, `M. Nasr`, `S. Wang`, `T. L`, `N. Ahmed`, `K. B. Kent`, `J. Anderson`, `J. Rose`, `V. Betz`, "VTR 7.0: Next Generation Architecture and CAD System for FPGAs", *ACM TRETS*, 2014.
1313

1414
References
1515
----------

0 commit comments

Comments
 (0)