summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
Diffstat (limited to 'svx')
-rw-r--r--svx/README.md156
1 files changed, 80 insertions, 76 deletions
diff --git a/svx/README.md b/svx/README.md
index 30e946547695..adf52ccacd1f 100644
--- a/svx/README.md
+++ b/svx/README.md
@@ -1,101 +1,105 @@
+# Graphics Related Helper Code
+
Contains graphics related helper code. Lots of the draw and impress code is in this shared library.
-xoutdev
-this is where a lot of wht work would happen to move to the canvas. (what does that mean?)
+- `xoutdev`
+
+ this is where a lot of wht work would happen to move to the canvas. (what does that mean?)
+
+- `svdraw`
-svdraw
-transparent gradient stuff. [seriously? surely much more, too]
+ transparent gradient stuff. [seriously? surely much more, too]
-== SdrObject ==
+## SdrObject
The shapes you can see in LibreOffice (like rectangle, etc.) are SdrObjects.
They are declared as a hierarchy:
-SdrObject <- SdrAttrObj <- E3dObject <- E3dCompoundObject <- E3dCubeObj
- ^ ^ ^ ^ ^ | | ^ ^
- | | | | | | | | +--- E3dExtrudeObj
- | | | | | | | +----- E3dLatheObj
- | | | | | | +------- E3dPolygonObj
- | | | | | +--------- E3dSphereObj
- | | | | +--- E3dScene...
- | | | |
- | | | +--- SdrTextObj <- SdrObjCustomShape...
- | | | ^ ^ ^ ^ ^
- | | | | | | | +--- SdrEdgeObj...
- | | | | | | +----- SdrMeasureObj...
- | | | | | +------- SdrPathObj...
- | | | | +--------- SdrRectObj...
- | | | +----------- SdrTableObj...
- | | +--- SdrObjGroup...
- | + ---- SdrPageObj...
- +------- SdrVirtObj...
+ SdrObject <- SdrAttrObj <- E3dObject <- E3dCompoundObject <- E3dCubeObj
+ ^ ^ ^ ^ ^ | | ^ ^
+ | | | | | | | | +--- E3dExtrudeObj
+ | | | | | | | +----- E3dLatheObj
+ | | | | | | +------- E3dPolygonObj
+ | | | | | +--------- E3dSphereObj
+ | | | | +--- E3dScene...
+ | | | |
+ | | | +--- SdrTextObj <- SdrObjCustomShape...
+ | | | ^ ^ ^ ^ ^
+ | | | | | | | +--- SdrEdgeObj...
+ | | | | | | +----- SdrMeasureObj...
+ | | | | | +------- SdrPathObj...
+ | | | | +--------- SdrRectObj...
+ | | | +----------- SdrTableObj...
+ | | +--- SdrObjGroup...
+ | + ---- SdrPageObj...
+ +------- SdrVirtObj...
The above is incomplete of course.
-== SdrModel / SdrView ==
+## SdrModel / SdrView
-Copied from svdview.hxx:
+Copied from `svdview.hxx`:
- First of all the app creates a SdrModel.
- Then it opens a Win and creates a SdrView.
- ShowSdrPage() announces a page at SdrView.
- It's possible to show SdrView in any Wins at once.
+ First of all the app creates a `SdrModel`.
+ Then it opens a Win and creates a `SdrView`.
+ `ShowSdrPage()` announces a page at `SdrView`.
+ It's possible to show `SdrView` in any Wins at once.
- SdrView can show as many Wins as it wants at once. Pages are announced
- or checked out with the help of ShowSdrPage()/HideSdrPage(). For every announced
- page there is a SdrPageView instance in container aPages. If more than one page
- is showed, you have to pay attention that the offset parameter of ShowSdrPage()
+ `SdrView` can show as many Wins as it wants at once. Pages are announced
+ or checked out with the help of `ShowSdrPage()`/`HideSdrPage()`. For every announced
+ page there is a `SdrPageView` instance in container aPages. If more than one page
+ is showed, you have to pay attention that the offset parameter of `ShowSdrPage()`
is conformed to the size of the page (to prevent overlapping of two pages).
-SdrView itself is inherited from many objects in a chain of inheritance (all
-that starts with SdrPaintView - that is itself inherited from few classes
+`SdrView` itself is inherited from many objects in a chain of inheritance (all
+that starts with `SdrPaintView` - that is itself inherited from few classes
too):
-SdrPaintView <- SdrSnapView <- SdrMarkView <- SdrEditView <- SdrPolyEditView
- ^
- +----------------------------------------------------------------+
- |
- SdrGlueEditView <- SdrObjEditView <- SdrExchangeView <- SdrDragView
- ^
- +----------------------------------------------------------------+
- |
- SdrCreateView <- SdrView
+ SdrPaintView <- SdrSnapView <- SdrMarkView <- SdrEditView <- SdrPolyEditView
+ ^
+ +----------------------------------------------------------------+
+ |
+ SdrGlueEditView <- SdrObjEditView <- SdrExchangeView <- SdrDragView
+ ^
+ +----------------------------------------------------------------+
+ |
+ SdrCreateView <- SdrView
-From SdrView on, it is not flat, but a real hierarchy again.
+From `SdrView` on, it is not flat, but a real hierarchy again.
-== Drawing Layer / SdrObject(s) ==
+## Drawing Layer / SdrObject(s)
-See drawinglayer/README for general information about drawinglayer.
+See `drawinglayer/README.md` for general information about drawinglayer.
Below is the class diagram that comes from
-http://www.openoffice.org/marketing/ooocon2006/presentations/wednesday_g11.odp,
+<http://www.openoffice.org/marketing/ooocon2006/presentations/wednesday_g11.odp>,
slide number 6.
-.------- Model --------------. .------- View -----------------------------------------.
-| SdrObject - ViewContact | 1..* | ViewObjectContact |
-| getChild() |------| getPrimitiveList() -----> Object(s) ---> SdrView |
-| getVOC() | | getRecPrimitiveList() Contact |
-| getViewInd... | |________|_____________________________________________|
-| ...ependentPrimitiveList() | |
-|____________________________| generates
- | ______
- V / |
- .----------------------. |
- | basePrimitive | |
- | getRange() |<---'
- | getDecomposition() |
- |______________________|
-
-For SdrObjects, there are own DrawingLayer primitives in
-svx/source/sdr/primitive2d
-
-The ViewContact / ViewObject / ViewObjectContact are in svx/source/sdr/contact
-Decomposes the SdrObjects, and does all sort of operations on them.
-
-If the number of visualizable objects (e.g. SdrObjects) is X, and the number of
-SdrViews is Y, then:
-
-- there are X ViewContact instances (1:1 relation with a visualizable object)
-- there are Y ObjectContact instances (1:1 relation with an SdrView)
-- there are X*Y ViewObjecContact instances (1:N relation to both
- visualizable objects and SdrViews)
+ .------- Model --------------. .------- View -----------------------------------------.
+ | SdrObject - ViewContact | 1..* | ViewObjectContact |
+ | getChild() |------| getPrimitiveList() -----> Object(s) ---> SdrView |
+ | getVOC() | | getRecPrimitiveList() Contact |
+ | getViewInd... | |________|_____________________________________________|
+ | ...ependentPrimitiveList() | |
+ |____________________________| generates
+ | ______
+ V / |
+ .----------------------. |
+ | basePrimitive | |
+ | getRange() |<---'
+ | getDecomposition() |
+ |______________________|
+
+For `SdrObjects`, there are own `DrawingLayer` primitives in
+`svx/source/sdr/primitive2d`
+
+The `ViewContact` / `ViewObject` / `ViewObjectContact` are in `svx/source/sdr/contact`
+Decomposes the `SdrObjects`, and does all sort of operations on them.
+
+If the number of visualizable objects (e.g. `SdrObjects`) is `X`, and the number of
+`SdrViews` is `Y`, then:
+
+- there are `X` `ViewContact` instances (1:1 relation with a visualizable object)
+- there are `Y` `ObjectContact` instances (1:1 relation with an `SdrView`)
+- there are `X*Y` `ViewObjecContact` instances (1:N relation to both
+ visualizable objects and `SdrView`s)