On Tue, 2011-11-01 at 13:49 +0000, Sveinn í Felli wrote:
A bit on Bezier-curve handles in Draw:
..
There's a slight circular shadow effect on the Bezier
handles. (Is it possible that they're supposed to be
circular but are suffering from the alpha transparency bug
mentioned in the other thread ?)
Yes - and that is fixed in master :-) since it is -such- a trivial fix,
I'll get some review to back-port it to 3.4.5.
I discovered how to provoke the blinking anchor as well, using ctrl-tab
switches focus between the handles and makes them blink between one
state and another which is interesting.
Anyway, in most decent drawing applications I know of,
Bezier points are circular and Bezier handles either
circular or triangular; IMHO that gives a better impression
Ah ;-) well, that is another matter, and requires fixing in the code
that actually creates those. A good first step would be finding a kind
German that wanted to translate: svx/inc/svx/svdhdl.hxx:
////////////////////////////////////////////////////////////////////////////////////////////////////
// Jedes Objekt muss in der Lage seine Handles zu erzeugen. Diese werden dann
// bei einer Selektion abgeholt, bei der View angemeldet und sichtbar gemacht.
// Wird ein Handle von der Maus beruehrt (IsHit()), so wird von der View der
// entsprechende Mauszeiger vom Handle abgeholt und der App auf Anfrage zum
// reinschalten uebergeben.
// Handles wie z.B. der Rotationsmittelpunkt oder die Spiegelachse werden von
// der View generiert, wenn vom Controller der entsprechende Transformations-
// Modus selektiert wird.
// HDL_MOVE...HDL_LWRGT muessen im enum immer zusammen stehen bleiben!
enum SdrHdlKind
{
HDL_MOVE, // Handle zum Verschieben des Objekts
HDL_UPLFT, // Oben links
HDL_UPPER, // Oben
HDL_UPRGT, // Oben rechts
HDL_LEFT, // Links
HDL_RIGHT, // Rechts
HDL_LWLFT, // Unten links
HDL_LOWER, // Unten
HDL_LWRGT, // Unten rechts
HDL_POLY, // Punktselektion an Polygon oder Bezierkurve
HDL_BWGT, // Gewicht an einer Bezierkurve
HDL_CIRC, // Winkel an Kreissegmenten, Eckenradius am Rect
HDL_REF1, // Referenzpunkt 1, z.B. Rotationsmitte
HDL_REF2, // Referenzpunkt 2, z.B. Endpunkt der Spiegelachse
HDL_MIRX, // Die Spiegelachse selbst
HDL_GLUE, // GluePoint
HDL_ANCHOR, // anchor symbol (SD, SW)
HDL_TRNS, // interactive transparence
HDL_GRAD, // interactive gradient
HDL_COLR, // interactive color
HDL_USER,
HDL_ANCHOR_TR, // #101688# Anchor handle with (0,0) at top right for SW
// for SJ and the CustomShapeHandles:
HDL_CUSTOMSHAPE1,
HDL_SMARTTAG
};
And I guess the ones to change would be:
HDL_POLY, // Punktselektion an Polygon oder Bezierkurve
HDL_BWGT, // Gewicht an einer Bezierkurve
With a build going, this is just a bit of experimentation away inside:
svx/source/svdraw/svdhdl.cxx:
which has:
case HDL_POLY:
{
if(bRot)
{
eKindOfMarker = (b1PixMore) ? Circ_9x9 : Circ_7x7;
}
else
{
eKindOfMarker = (b1PixMore) ? Rect_9x9 : Rect_7x7;
}
break;
}
case HDL_BWGT: // weight at poly
{
eKindOfMarker = Circ_7x7;
break;
}
But I'd prefer to get a completed patch to review for that little lot
that handles the corner cases, and checks where HDL_POLY is used around
the place and whether we want it for all polygon cases, or only beziers
etc.
HTH,
Michael.
--
michael.meeks@suse.com <><, Pseudo Engineer, itinerant idiot
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.