ASE Home Page Products Download Purchase Support About ASE
ChartDirector Support
Forum HomeForum Home   SearchSearch

Message ListMessage List     Post MessagePost Message

  setClipping for icons only
Posted by Michael P. on Nov-13-2020 18:57
Hi there,
is there any way have an XYChart with setClipping(0) which ignores that only for icons?
We don't want any lines or areas to be drawn outside the plotarea (especially into the legend or the chart title), but series/dataset icons which e.g. sit at the outer edge of the y-axis do get clipped and may be easy to miss for users.

One way would be to calculate the margin needed for such "close to the edge living" icons, but is there any other way?

2nd Q: When using CDML blocks for axis labels, is there any setting to change the width of the rectangle for the edgeColor setting?
And the cherry on top would be rounded corners ... possible?

All the best and thanks in advance,
Michael

(ChartDirector c++ 6.3)

  Re: setClipping for icons only
Posted by Peter Kwan on Nov-14-2020 15:34
Hi Michael,

Unluckiy, the setClipping applies to the layers as a whole, but not to individual objects. You may need to extend the clipping rectangle by a little bit by using a non-zero clipping margin.

For the CDML blocks, in ChartDirector 7.0 we will add:
  - rounded corners
  - top/left/bottom/right margins
  - configurable edge width

For your case, CDML rounded corners are only supported in ChartDirector 7.0.

I am not too sure what do you mean by "to change the width of the rectangle for the edgeColor setting". The edge currently is drawn internal to the rectangle and is always 1 pixel wide. Do you mean you want to change the edge width, or do you mean you want to increase the rectangle width so as to compensate for the space occupied by the edge?

In ChartDrector 7.0, you can configure the edge width, and the edge can be inside the box or outside it. You can use margins to increase the rectangle width.

In ChartDirector 6.3, I think it is possible to achieve similar effect by putting a block inside another block. For example:

<*block,edgecolor=000000*><*advance=3*><*block*>{value|mmm<*br*>yyyy}<*/*><*advance=3*>

The actual label is "{value|mmm<*br*>yyyy}". There will be a 3 pixel spacing to the left and right. The label and spacing will be enclosed in a rectangular box.

You can also use a block inside block method to create a thicker border. Each block will have a edge one pixel wide. If there is no gap between the blocks, the edge will look like 2 pixel thick.

Currently, we already have a beta version of the ChartDirector 7.0 DLL. If you are interested, please let me know.

Regards
Peter Kwan

  Re: setClipping for icons only
Posted by Michael P. on Nov-16-2020 14:36
Hi Peter,
I will settle with extending the clipping rectangle a little bit, half icon size should suffize.

By width I meant the line width of the rectangle. Adding another block inside seems like a good enough solution.

I am very curious for version 7, but won't have the time for it until next year.

Thanks for your help, all the best,
Michael