[Top][All Lists]

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

Re: about contibuting to octave

From: xianghang liu
Subject: Re: about contibuting to octave
Date: Tue, 3 Mar 2009 15:22:49 +0800

On Tue, Mar 3, 2009 at 2:13 PM, Ben Abbott <address@hidden> wrote:
- Show quoted text -

On Mar 3, 2009, at 12:44 AM, Shai Ayal wrote:

On Tue, Mar 3, 2009 at 7:17 AM, xianghang liu <address@hidden> wrote:
Yes, I think I am interested in this. Would you please tell me how to start
and give me more details about this?

On Tue, Mar 3, 2009 at 12:33 PM, Shai Ayal <address@hidden> wrote:

On Tue, Mar 3, 2009 at 4:36 AM, xianghang liu <address@hidden>
I am a C++ developer very interested in Octave and would like to
I have had a look at projects listed at
http://www.gnu.org/software/octave/projects.html. I would like to
numerical  and IO related projects in the list. Would you please show me
more current copy of this?

I'm not sure it's what you meant by IO related, but the graphics
system is really in need of a c++ developer. We need someone to
implement text objects.
If this interests you, I'm sure Michael and I could help you start out


I'll give you a very brief overview with which you can start, and just
ask question as you go. It's also better if you ask on the maintainers
list (or at least cc the list) instead of me directly for 3 reasons:
1. someone else might be able to answer better/before me
2. someone else will be able to correct me!
3. we will have a record of the discussion and changes that everyone can see.

Also, please use bottom posting as it is much easier to read later

The graphics system in octave is made of two parts -
1. core graphics, which includes all the parts that are independent of
the actual graphics implementation and underlaying OS (i.e. the object
hierarchy,  setting/getting properties and more). Core graphics is
implemented in the (very large) files:
graphics.h.in, graphics.cc. graphics.h.in is converted to graphics.h
by the script genprops.awk. all of these files are in the src
2. backends - these are in charge of the actual rendering and deal
with the underlaying graphics system. Currently we have 2 backends,
the gnuplot backend and the fltk backend which uses the

The text object is very complex (probably why it is left undone) in
that it is a core graphics object, but also has dependencies on the
backend: As Ben noted, the text object has an "extent" property which
should hold the text bounding box. This is dependent on the text and
font properties. Only the backend knows the font properties, so this
has to communicated from the backend to the core-graphics system. We
need to decide how to do this and implement.
Also there is the whole issue of simple TeX rendering for text.



Regarding the comment "Only the backend knows the font properties", are font properties independent of the backend?


Thanks for your descriptions. I have get some rough understanding about what we want to do.
As far as I know, there is a properity called 'Extent' in Matlab text object, which is the range of the text objects and is read-only. I think we would like to implement something similar. To do this we need to add a read-only property 'extent' to class text definded in graphics.h. But this property is only known to backends so we need to communication from the backends to the frontend. Any mistakes?
And would please tell me in which files backend of the graphics system implemented?


reply via email to

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