Search code examples
gtkgtkmm

goocanvasmm text item set anchor


I want to set the text anchor for a goocanvasmm text item. But I can't get the examples to run

Goocanvas::Text::create("Any Text", 0, 0, -1, Goocanvas::ANCHOR_NORTH);

error: 'ANCHOR_NORTH' is not a member of 'Goocanvas'

Goocanvas::Text::create("Any Text", 0, 0, -1, Goocanvas::ANCHOR_N);

error: 'ANCHOR_N' is not a member of 'Goocanvas'

I have no idea in which namespace or subclass this item is located. Can anyone help?


Solution

  • The definition of the enumerator is as follows:

    enum    Goocanvas::AnchorType {
    
      Goocanvas::ANCHOR_CENTER,
    
      Goocanvas::ANCHOR_NORTH,
    
      Goocanvas::ANCHOR_NORTH_WEST,
    
      Goocanvas::ANCHOR_NORTH_EAST,
    
      Goocanvas::ANCHOR_SOUTH,
    
      Goocanvas::ANCHOR_SOUTH_WEST,
    
      Goocanvas::ANCHOR_SOUTH_EAST,
    
      Goocanvas::ANCHOR_WEST,
    
      Goocanvas::ANCHOR_EAST,
    
      Goocanvas::ANCHOR_N = ANCHOR_NORTH,
    
      Goocanvas::ANCHOR_NW = ANCHOR_NORTH_WEST,
    
      Goocanvas::ANCHOR_NE = ANCHOR_NORTH_EAST,
    
      Goocanvas::ANCHOR_S = ANCHOR_SOUTH,
    
      Goocanvas::ANCHOR_SW = ANCHOR_SOUTH_WEST,
    
      Goocanvas::ANCHOR_SE = ANCHOR_SOUTH_EAST,
    
      Goocanvas::ANCHOR_W = ANCHOR_WEST,
    
      Goocanvas::ANCHOR_E = ANCHOR_EAST
    
    }
    

    So your code should work unless you did some namespace foo (i.e. use blurb). Try to use the C defines (i.e. ANCHOR_SOUTH_WEST - no namespace) directly.