aboutsummaryrefslogtreecommitdiff
path: root/src/libui_sdl/libui/doc/area.md
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2020-05-29 21:36:26 +0200
committerGitHub <noreply@github.com>2020-05-29 21:36:26 +0200
commit0cadd4bd12bc824d010396c855fa450774e6f619 (patch)
tree7f404a52ff372a1e2e785db2b8cf11736f2f3212 /src/libui_sdl/libui/doc/area.md
parentcd7487d53f8207277fc44f7983513fe6892a3409 (diff)
parent8ddd82ca2c7c8844a1d3c2cc7418d03976c9c52e (diff)
Merge pull request #635 from Arisotura/qt
Qt
Diffstat (limited to 'src/libui_sdl/libui/doc/area.md')
-rw-r--r--src/libui_sdl/libui/doc/area.md53
1 files changed, 0 insertions, 53 deletions
diff --git a/src/libui_sdl/libui/doc/area.md b/src/libui_sdl/libui/doc/area.md
deleted file mode 100644
index d14be9c..0000000
--- a/src/libui_sdl/libui/doc/area.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# uiArea
-
-uiArea is a uiControl that provides a canvas you can draw on. It receives keyboard and mouse events, supports scrolling, is DPI aware, and has several other useful features. A uiArea consists of the drawing area itself and horizontal and vertical scrollbars.
-
-## The Area Handler
-
-A uiArea is driven by an *area handler*. An area handler is an object with several methods that uiArea calls to do certain tasks. To create an area handler, simply have a structure whose first member is of type `uiAreaHandler`:
-
-```c
-struct uiAreaHandler {
- void (*Draw)(uiAreaHandler *h, uiArea *a, uiAreaDrawParams *p);
- void (*HScrollConfig)(uiAreaHandler *h, uiArea *a, uiAreaScrollConfig *c);
- void (*VScrollConfig)(uiAreaHandler *h, uiArea *a, uiAreaScrollConfig *c);
-}
-```
-
-## Drawing
-
-Unlike drawing canvas controls in other toolkits, uiArea does **not** have a fixed size. The coordinate (0, 0) is always the top-left corner of the drawing area, regardless of how big the uiArea is in the current window or where the scrollbars presently are. Instead, you simulate a size by setting the scrollbar bounds, and you are given the current scrolling positions to base your drawing with.
-
-The visible drawing area is called the *content area* by the drawing machinery.
-
-TODO have a diagram.
-
-When a part of the uiArea needs to be redrawn, the area handler's `Draw()` method is called. It receives the area handler, the uiArea, and a structure of parameters necessary for drawing.
-
-```c
-struct uiAreaDrawParams {
- uiDrawContext *context;
-
- intmax_t contentWidth;
- intmax_t contentHeight;
-
- intmax_t hscrollpos;
- intmax_t vscrollpos;
-
- intmax_t clipX;
- intmax_t cilpY;
- intmax_t clipWidth;
- intmax_t clipHeight;
-
- TODO dpiX;
- TODO dpiY;
-};
-```
-
-`context` is the drawing context; see drawing.md for details.
-
-`contentWidth` and `contentHeight` is the current width and height of the content area. `hscrollpos` and `vscrollpos` are the current horizontal and vertical positions of the scrollbars, in units defined by the scrollbar configurations; see below.
-
-`clipX`, `clipY`, `clipWidth`, and `clipHeight` define a rectangle, in content area coordinates, that the OS has requested to be redrawn. You can use this to optimize your drawing by only drawing where drawing is needed; the OS may choose to drop any drawing done outside the clip rectangle.
-
-`dpiX` and `dpiY` are the uiArea's current DPI in the X and Y directions, respectively. Do not save these values; they are not guaranteed to stay the same once `Draw()` returns.