Re: Grid Based Canvas



Dov,
 Thanks for the info. I think that your GtkImageViewer might just be
what I needed. I'll see where I can get with it. I hope I can contact
you for help if I run into any problems, since you are the author of the
widget.
Again, thanks for the great info.

Regards,
Jibran

On Tue, 2010-05-25 at 22:43 +0300, Dov Grobgeld wrote:
Why don't you just draw a grid with lines on the canvas, and then
whenever you "select" a square you create a canvas rectangle item and
put it in the grid between the grid lines? When you unselect, you just
destroy the canvas item. You will still need 20000 items, which might
still be too much...

Another approach which uses a lot less memory but requires more work
on your part is to use my GtkImageViewer widget which is a hybrid
between an image viewer and a canvas. (In spite of its name it does
not necessarily display images). The widget handles zooming, but you
have to redraw the contents yourself on exposure events. See: 

http://giv.sourceforge.net/gtk-image-viewer/

Regards,
Dov

On Tue, May 25, 2010 at 22:02, Asad Jibran Ahmed <surfer a1 gmail com>
wrote:
        On Mon, 2010-05-24 at 23:21 -0400, Liam R E Quin wrote:
        > On Tue, 2010-05-25 at 05:04 +0500, Asad Jibran Ahmed wrote:
        > > [...]
        >
        > > The canvas will have grids, much like a graph paper.
        Whenever
        > > the user clicks on one of the grid squares, that square
        will become
        > > selected and the selection will be shown by highlighting
        the square.
        >
        > It sounds like you really have a grid of squares, even if
        the user
        > doesn't think of it that way.
        >
        > I think all of the canvas APIs support scrolling and
        zooming.
        >
        > Or take a peek at e.g. the minesweeper game?
        >
        > Liam
        >
        
        
        Liam,
         Thanks for the info. I checked out the crcanvas widget and I
        think that
        it may just be what I need. I do however have one issue with
        the square
        approach that you have suggested.
        
        The grid I am trying to make needs to be quite large
        (10000x10000), and
        the memory requirements of keeping track of this large a
        number of
        rectangles is very problematic.
        
        Any advice on how to proceed from here? Again, thanks for your
        earlier
        reply.
        Thanks
        
        --
        JB :: http://www.asadjb.com
        
        
        _______________________________________________
        gtk-app-devel-list mailing list
        gtk-app-devel-list gnome org
        http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
        



--
JB :: http://www.asadjb.com




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