octave-maintainers
[Top][All Lists]
Advanced

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

Re: Outerposition Patch


From: Konstantinos Poulios
Subject: Re: Outerposition Patch
Date: Thu, 10 Feb 2011 20:00:19 +0100

On Thu, Feb 10, 2011 at 1:59 PM, Konstantinos Poulios
<address@hidden> wrote:
> On Thu, Feb 10, 2011 at 9:25 AM, David Bateman <address@hidden> wrote:
>>
>>
>>
>>
>> Le 10 févr. 2011 à 00:25, logari81 <address@hidden> a écrit :
>>
>>>>
>>> thank you for this information.
>>>
>>> It seems that the previously attached patch causes problems only with
>>> legends. However, in order to treat legends correctly I need to
>>> understand their logic. How do legends exploit the outerposition and
>>> position properties? Is anyone familiar with legend.m to give me a short
>>> introduction?
>>>
>>> Best regards
>>>
>>>
>> You shouldn't try to understand the logic of legend's use of the position 
>> and outerposition properties. It's just a hack that worked with the existing 
>> behavior. If your patch doesn't work well with legend it is probably legend 
>> that needs to be fixed
>>
>> D.
>
> The attached patch replaces the previous one and implements the
> calculation of both position and outerposition depending on the value
> of activepositionproperty.
>
> It is not very well tested yet, so there will probably be some issues,
> e.g. legends will not work, but it brings a feature that maybe is
> awesome. It is something that Matlab cannot do and maybe you like it.
> See the following video:
>
> http://ubuntuone.com/p/cYM/
>
> The position property is calculated dynamically while you rotate the
> view, so that all labels fit in outerposition. I think it works quite
> well in order to keep it. What do you think?
>
> As this operation involves certain computational overhead, it would be
> interesting to get some tests on older machines. Unfortunately all
> pc's that I have access to, are too fast.
>
> This patch also fixes http://savannah.gnu.org/bugs/?31610 for the fltk 
> toolkit.
>
> Finally, if we adopt the attached patch we have to adapt legend.m also.
>
> BR
>
> Kostas
>

After some more testing and fixes I think the patch is quite mature in
the form you find in the attachment. I think it could be checked in.

There are still some general issues with fltk that I will try to sum up:

1. In some demo plots axes labels seem to be too close to the axes
(e.g. demo legend 9). Probably in some of the previous changes there
is something that I have overseen.

2. Legends for barplots don't show colors (this is an old problem).

3. Some small y axes interference for plotyy (also not new).

4. Now there is no labels-titles interference in demo subplot 1, so
there is no need for extra space between the subplots, we can reduce a
bit the padding (someone which is familiar with subplot.m I suppose).

5. In demo axis 4, legends are not positioned correctly. I think the
position of the legend for these cases should rely exclusively on
position of the parent axes and not on outerposition, but I have not
tried to implement this. David could you take a look at legend.m?

6. In the attached patch I have removed the following comment from
sync_positions:

  // FIXME -- this should take font metrics into consideration,
  // and also the fact that the colorbox leaves the outerposition
  // alone but alters the position. For now just don't adjust the
  // positions relative to each other.

I do not understand the part that refers to colorboxes but since I see
no issues with colorbox demos, I remove it completely. Are there any
objections?

7. Subscripts and superscripts are not supported.

8. For logscale tick labels should always be computed as power of ten.

9. Arbitrary rotation for text object is supported only on gl2ps, not
on the screen. This could be fixed.


BR

Kostas

P.S. please take a look at the patch so that we can check it in, it
was quite a lot of work. First of all think if there are any
objections about the behavior shown on the video of my previous mail.

Attachment: sync-position-outerposition-2a.changeset
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]