From f135e0863647f605b389ae02ba8a87a792ff5833 Mon Sep 17 00:00:00 2001 From: Jan Holesovsky Date: Fri, 3 Apr 2015 15:15:40 +0200 Subject: Added some ascii art for the SdrObject and SdrView. Change-Id: If7e1e25315e282432a344b60b4602b1a51971399 --- svx/README | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'svx/README') diff --git a/svx/README b/svx/README index a3574dde90de..9224fdeb56fa 100644 --- a/svx/README +++ b/svx/README @@ -6,6 +6,47 @@ this is where a lot of wht work would happen to move to the canvas. (what does t svdraw transparent gradient stuff. +== 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... + +The above is incomplete of course. + +Associated are the SdrPaintView's - they have quite a deep chain of +inheritance, where each new class adds a bit of functionality: + +SdrPaintView <- SdrSnapView <- SdrMarkView <- SdrEditView <- SdrPolyEditView + ^ + +----------------------------------------------------------------+ + | + SdrGlueEditView <- SdrObjEditView <- SdrExchangeView <- SdrDragView + ^ + +----------------------------------------------------------------+ + | + SdrCreateView <- SdrView + +From SdrView on, it is not flat, but a real hierarchy again. + == Drawing Layer / SdrObject(s) == See drawinglayer/README for general information about drawinglayer. -- cgit