I think I'm 80% of the way toward understanding how this should work, but my test case never calls apply_transform, so I don't know what exactly it does. When exactly is this function called, and am I handling it right here? My print(...) statement never prints, so I don't think its even being called. What am I doing wrong here?

I'm using Clutter through Python with GObject introspection.

Thanks,

Brian

from gi.repository import Clutter
from gi.repository import Cogl

class GridView(Clutter.Rectangle):
    """A 2D plane of rectangular items."""

    def __init__(self, width=100, height=100):
        Clutter.Rectangle.__init__(self)
        self.set_size(width, height)
        self.set_color(Clutter.Color.new(64, 64, 64, 255))


    def apply_transform(self):
        print("applying")
        Clutter.Actor.apply_transform(self, matrix)
        matrix.translate(5.0, 10.0, 0.0)

if __name__ == "__main__":
    Clutter.init([])
    stage = Clutter.Stage()
    stage.set_size(600,600)
    grid = GridView()
    grid.set_position(0,0)
    stage.add_actor(grid)
    stage.connect('destroy', lambda *x: Clutter.main_quit())
    stage.show_all()
    Clutter.main()

On 03/24/2011 08:19 AM, Emmanuele Bassi wrote:
On 2011-03-23 at 13:47, ekspiulo wrote:
Hello all,

I'm planning to write a GTK application containing a big google maps
style pan&  zoom view of a finite and reasonably sized clutter
stage, and all of the tutorials and such seem to recommend using
GtkClutterViewport, which makes sense given that a GtkViewport is
the standard method of viewing something larger than space in the
UI; however, it looks like this was recently removed. . .

Is there new pattern for constructing such a veiwport in a gtk&
clutter application?
the GtkClutterViewport actor was removed because it was not as useful or
as flexible as it looked like.

you can easily implement the same functionality in a custom Actor
sub-class overriding the apply_transform() virtual function, and calling
cogl_matrix_translate() on the passed transformation matrix; the offsets
can come from a MxAdjustment, a GtkAdjustment or two properties bound to
any model.

ciao,
  Emmanuele.


_______________________________________________
clutter-app-devel-list mailing list
[email protected]
http://lists.clutter-project.org/listinfo/clutter-app-devel-list

Reply via email to