[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: TODO item: proportional scaling



On Thu, May 02, 2002 at 07:41:45AM +0200, Cyrille Chepelov wrote:
> Sounds like a good idea; however, this patch can't be applied "as is": there 
> has been a lot of StdProp-related changes in CVS, which impact the definition 
> of Element (you'll need to add this aspectRatio field to the stdprop
> description of an Element). Also, it must be clear that this approach break
> binary compatibility -- I don't care at all, at least until we hit 1.0, but
> some might. 

Well, I guess I'll have to download the CVS code, then.

> > !   if (modifiers == MODIFIER_SHIFT) {
> > !     element_move_handle_aspect(&box->element, handle->id, to, (real) box->element.aspectRatio);
> > !   } else {
> > !     element_move_handle(&box->element, handle->id, to, reason);
> > !   }
> 
> Perhaps a better idea here would be to add a parameter to
> element_move_handle (and fix all invocations), passing the modifiers.
> element_move_handle() will be able to access aspectRatio on its own (hmmm --
> better call it aspect_ratio for consistency with the rest of the code,
> thanks), and factorise out the test on the modifiers' state into the common
> element code.

I had this thought as well.  Also, why are there two element_move_handle
functions.  Wouldn't it make more sense to handle every possible option in
one function?  element_move_handle and element_move_handle_aspect have a LOT of
code in common.  It would be easy enough to make this one function with an
optional aspect ratio adjustment.

> > *************** box_create(Point *startpoint,
> > *** 511,516 ****
> > --- 515,521 ----
> >     elem->corner = *startpoint;
> >     elem->width = DEFAULT_WIDTH;
> >     elem->height = DEFAULT_WIDTH;
> > +   elem->aspectRatio = elem->width / elem->height;
> 
> May be better to init this value in element_init(), and not paying attention
> to it if it is zero, and recompute it in element_update_data() ? This way,
> save the extra parameter, there is no change to individual objects, only to
> the common code.

Okay, I'll take a look at that.
-- 
Titus Anderson



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] Mail converted by Mofo Magic and the Flying D

 
All trademarks and copyrights are the property of their respective owners.

Other Directory Sites: SeekWonder | Directory Owners Forum

GuideSMACK