camelot-discuss
[Top][All Lists]
Advanced

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

Re: [Camelot-discuss] Bindings librsvg


From: Sven Luther
Subject: Re: [Camelot-discuss] Bindings librsvg
Date: Tue, 11 Feb 2003 14:15:26 +0100
User-agent: Mutt/1.5.3i

On Tue, Feb 11, 2003 at 02:03:26PM +0100, Olivier Andrieu wrote:
>  Sven Luther [Tuesday 11 February 2003] :
>  >
>  > On Mon, Feb 10, 2003 at 08:51:33PM +0100, Olivier Andrieu wrote:
>  > Content-Description: message body and .signature
>  > > Salut à tous,
>  > > 
>  > > voilà j'ai modifié les bindings de sven pour librsvg, ça marche avec
>  > > ocamlsdl maintenant (il faut la version CVS). La gestion mémoire (GC
>  > 
>  > Mmm, pourquoi faut-il la version CVS ? J'imagine qu'il faut que
>  > j'installe la version CVS egalement, non ? ou du moins les stublibs ?
> 
> il faut la version CVS à cause des histoires de gestion mémoire :
> comme la surface SDL et le pixbuf partagent le même pixel buffer, il
> faut que le pixbuf reste en vie tant qu'on utilise la surface SDL et
> il faut détruire le pixbuf quand la surface n'est plus utilisée. J'ai
> rajouté dans la version CVS la possibilité d'appeler une fonction C
> quand la surface SDL est finalisée.

D'accord ...

Mmm, est-ce que cela merite une nouvelle release, ou alors est-ce que
Jerome pourrait inclure un patch avec cela dans son package debian ?

>  > Mmm, pourquoi as tu summprimer les appels a set_dpi ? est-ce qu'il est
>  > possible que ceci soit la cause des problemes ?
> 
> Il ne sont pas dans la version 2.0.x de librsvg. 

Mais comme la version 2.0.x ne marche pas ...

>  > De plus, j'avais pas penser binder les rsvg_pixbuf_from_file, vu qu'on
>  > peut tres bien les faires nous meme en ocaml, apres tout il ne s'agit
>  > que de d'appels aux autres fonctions avec des size_callbacks
>  > specifiques.
> 
> tout à fait. En fait j'ai commencé par ceux-là car ils sont plus faciles à
> interfacer mais finalement j'ai fait la version générale avec le
> callback. Donc oui, on peut les remplacer par une version caml.
> En fait on peut presque laisser une unique fonction :

Oui, ...

> | val render : string -> ?gz:bool -> ?dpi:float -> machin_bidule ->
> | Sdlvideo.surface
> | 
> | type machin_didule = 
> |   | DEFAULT
> |   | AT_SIZE of int * int
> |   | AT_ZOOM of float * float
> |   | AT_MAX_SIZE of int * int
> |   | AT_ZOOM_WITH_MAX of float * float * int * int
> |   | CALLBACK of (int -> int -> int * int)
> `----
> (je sais pas trop comment appeler machinbidule)

Erm, ... oui machin_bidule, c'est une bonne approche pour remplacer tous
les ..._from_file, mais est-ce que :

val render : string -> ?gz:bool -> ?dpi:float -> (int -> int -> int * int) -> 
Sdlvideo.surface

n'est pas plus general ?

Bien qu'on puisse avoir les deux versions, il faut juste trouver un bon
nom pour machin_bidule. rsvg_size ou quelque chose comme cela ?

>  > Sinon, moi j'ai 2.2.3 installe, mais a comme j'ai pas reussi a
>  > compiler la version CVS de ocamlsdl, je peut pas en dire plus.
> 
> je l'ai finalement installé, ça marche bien (les sprites ne sont plus
> coupés).
> 
> Pour Luc : j'ai utilisé garnome <http://www.gnome.org/~jdub/garnome/>
> pour avoir la nouvelle version de librsvg. Ça télécharge et installe
> tout seul les dépendances pour compiler librsvg (c'est assez gros
> puisqu'il y a gobj/glib/gtk+, libxml2, ...)

Amicalement,

Sven Luther




reply via email to

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