camelot-discuss
[Top][All Lists]
Advanced

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

Re: [Camelot-discuss] Bindings librsvg


From: Olivier Andrieu
Subject: Re: [Camelot-discuss] Bindings librsvg
Date: Thu, 13 Feb 2003 16:57:54 +0100

 Sven Luther [Thursday 13 February 2003] :
 >
 > On Thu, Feb 13, 2003 at 04:10:52PM +0100, Luc Mazardo wrote:
 > > Je suis d'accord pour utiliser camlzip, mais je pense qu'il
 > > faudrait arriver a l'utiliser dans le meme cadre que la lib
 > > suivante:
 > > 
 > > http://zziplib.sourceforge.net/zzip-index.html
 > 
 > Oui, et il parlent meme du probleme de brevet, apparement on peut
 > utiliser une partie de la compression zip, et c'est ce qui est fait au
 > niveau de zzip et aussi de libz, que camlzip utilise.

Ah oui ? j'ai pas vu où ils en parlent.

 > > En effet, cette derniere utilise des functions peu documentées de
 > > la SDL les SDL_rwops fonctions. Ces fonctions permettent de
 > > brancher un module de lecture de fichiers de ressources sur les
 > > operations de lecture/ecriture de la SDL.

Oui. En gros, un struct SDL_RWops est un object avec des méthodes
seek, read, write et close. L'API SDL comporte un SDL_RWFromFile, un
SDL_RWFromFP et un SDL_RWFromMem qui prennent respectivement, un nom
de fichier un FILE*, un void* en argument. 

 > > C'est peut etre un peu off topic mais olivier je pense que l'on
 > > devrait ajouter les bindings de ce genre et y plugger camlzip ?

On pourrait implémenter l'équivalent de SDL_RWFromFP et SDL_RWFromMem,
qui utiliseraient des in_channel et des string. C'est pas trivial, il
faut aller se battre avec le GC et les channels caml.  Mais on va sans
doute en avoir besoin car actuellement, les fonctions de Sdlloader
(SDL_image) ne prennent en argument qu'un nom de fichier; or avec une
archive (zip ou autre) on va se retrouver avec un buffer en mémoire et
il faudra bien le passer à SDL_image. En revanche, l'API de camlzip ne
permet pas ça directement, donc là pareil, il faudrait aller jeter un
coup d'œil au source de camlzip.

En résumé:
SDL_RW_FromFile -> c'est la seule API dispo actuellement pour ocamlsdl
SDL_RWFromMem   -> c'est nécessaire, je vais le faire (pas trés dur).
SDL_RWFromFP    -> (à partir d'un in_channel) pas nécessaire ni facile à faire
SDL_RWFromZip   -> pareil, pas nécessaire ni facile.

-- 
   Olivier




reply via email to

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