summaryrefslogtreecommitdiffstats
path: root/src/box3d.h
diff options
context:
space:
mode:
authorMaximilian Albert <maximilian.albert@gmail.com>2007-08-07 06:56:36 +0000
committercilix42 <cilix42@users.sourceforge.net>2007-08-07 06:56:36 +0000
commitd8f7aa4697faeffccb32a45235378afc69f402fd (patch)
tree7074305d40ee73725f943aa84c41216ab487e170 /src/box3d.h
parentadd a way to set a radio toggle in aux toolbar via desktop, by the toggles id (diff)
downloadinkscape-d8f7aa4697faeffccb32a45235378afc69f402fd.tar.gz
inkscape-d8f7aa4697faeffccb32a45235378afc69f402fd.zip
Set z-orders of 3D box faces during dragging/resizing according to the perspective
(bzr r3409)
Diffstat (limited to 'src/box3d.h')
-rw-r--r--src/box3d.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/box3d.h b/src/box3d.h
index ebf2a68bb..bca319e67 100644
--- a/src/box3d.h
+++ b/src/box3d.h
@@ -36,6 +36,7 @@
struct SP3DBox : public SPGroup {
NR::Point corners[8];
Box3DFace *faces[6];
+ guint z_orders[6]; // z_orders[i] holds the ID of the face at position #i in the group (from top to bottom)
// TODO: Keeping/updating the ratios works reasonably well but is still an ad hoc implementation.
// Use a mathematically correct model to update the boxes.
@@ -57,6 +58,9 @@ GType sp_3dbox_get_type (void);
void sp_3dbox_position_set (SP3DBoxContext &bc);
void sp_3dbox_set_shape(SP3DBox *box3d, bool use_previous_corners = false);
void sp_3dbox_recompute_corners (SP3DBox *box, NR::Point const pt1, NR::Point const pt2, NR::Point const pt3);
+bool sp_3dbox_recompute_z_orders (SP3DBox *box); /* returns true if there was a change in the z-orders
+ (which triggers an update of the repr) */
+void sp_3dbox_set_z_orders (SP3DBox *box);
void sp_3dbox_update_curves (SP3DBox *box);
void sp_3dbox_link_to_existing_paths (SP3DBox *box, Inkscape::XML::Node *repr);
void sp_3dbox_set_ratios (SP3DBox *box, Box3D::Axis axes = Box3D::XYZ);