# Class cocos.menu.ImageMenuItem

    cocosnode.CocosNode --+
                          |
               BaseMenuItem --+
                              |
                             ImageMenuItem

A menu item that shows a selectable Image

## Methods

| __init__(self, name, callback_func, *args, **kwargs) Creates a new menu item
| generateWidgets(self, pos_x, pos_y, font_item, font_item_selected) Generate a normal and a selected widget.
| draw(self) This is the function you will have to override if you want your subclassed to draw something on screen.
| __contains__(self, child) (Inherited from cocos.cocosnode.CocosNode)
CocosNode instance | add(self, child, z=0, name=None) Adds a child to the container (Inherited from cocos.cocosnode.CocosNode)
| are_actions_running(self) Determine whether any actions are running. (Inherited from cocos.cocosnode.CocosNode)
Action instance | do(self, action, target=None) Executes an action. (Inherited from cocos.cocosnode.CocosNode)
CocosNode | get(self, name) Gets a child from the container given its name (Inherited from cocos.cocosnode.CocosNode)
CocosNode or None | get_ancestor(self, klass) Walks the nodes tree upwards until it finds a node of the class `klass` or returns None (Inherited from cocos.cocosnode.CocosNode)
list of CocosNode | get_children(self) Return a list with the node's childs (Inherited from cocos.cocosnode.CocosNode)
euclid.Matrix3 | get_local_inverse(self) returns an euclid.Matrix3 with the local inverse transformation matrix (Inherited from cocos.cocosnode.CocosNode)
euclid.Matrix3 | get_local_transform(self) returns an euclid.Matrix3 with the local transformation matrix (Inherited from cocos.cocosnode.CocosNode)
euclid.Matrix3 | get_world_inverse(self) returns an euclid.Matrix3 with the world inverse transformation matrix (Inherited from cocos.cocosnode.CocosNode)
euclid.Matrix3 | get_world_transform(self) returns an euclid.Matrix3 with the world transformation matrix (Inherited from cocos.cocosnode.CocosNode)
| kill(self) Remove this object from its parent, and thus most likely from everything. (Inherited from cocos.cocosnode.CocosNode)
| on_enter(self) Called every time just before the node enters the stage. (Inherited from cocos.cocosnode.CocosNode)
| on_exit(self) Called every time just before the node leaves the stage (Inherited from cocos.cocosnode.CocosNode)
| pause(self) Suspends the execution of actions. (Inherited from cocos.cocosnode.CocosNode)
| pause_scheduler(self) Time will stop passing for this node: scheduled callbacks will not be called, worker actions will not be called (Inherited from cocos.cocosnode.CocosNode)
euclid.Vector2 | point_to_local(self, p) returns an euclid.Vector2 converted to local space (Inherited from cocos.cocosnode.CocosNode)
euclid.Vector2 | point_to_world(self, p) returns an euclid.Vector2 converted to world space (Inherited from cocos.cocosnode.CocosNode)
| remove(self, obj) Removes a child from the container given its name or object (Inherited from cocos.cocosnode.CocosNode)
| remove_action(self, action) Removes an action from the node actions container, potentially calling action.stop() (Inherited from cocos.cocosnode.CocosNode)
| resume(self) Resumes the execution of actions. (Inherited from cocos.cocosnode.CocosNode)
| resume_scheduler(self) Time will continue/start passing for this node and callbacks will be called, worker actions will be called (Inherited from cocos.cocosnode.CocosNode)
| schedule(self, callback, *args, **kwargs) Schedule a function to be called every frame. (Inherited from cocos.cocosnode.CocosNode)
| schedule_interval(self, callback, interval, *args, **kwargs) Schedule a function to be called every `interval` seconds. (Inherited from cocos.cocosnode.CocosNode)
| stop(self) Removes all actions from the running action list (Inherited from cocos.cocosnode.CocosNode)
| transform(self) Apply ModelView transformations (Inherited from cocos.cocosnode.CocosNode)
| unschedule(self, callback) Remove a function from the schedule. (Inherited from cocos.cocosnode.CocosNode)
| visit(self) This function visits it's children in a recursive way. (Inherited from cocos.cocosnode.CocosNode)
list | walk(self, callback, collect=None) Executes callback on all the subtree starting at self. (Inherited from cocos.cocosnode.CocosNode)
Inherited from `BaseMenuItem`: `get_box`, `get_item_height`, `get_item_width`, `get_item_x`, `get_item_y`, `is_inside_box`, `on_activated`, `on_key_press`, `on_selected`, `on_text`, `on_unselected`

## Properties

(int,int) | anchor Anchor point of the object. (Inherited from cocos.cocosnode.CocosNode)
(int,int) | anchor_x Anchor x value for transformations and adding children (Inherited from cocos.cocosnode.CocosNode)
(int,int) | anchor_y Anchor y value for transformations and adding children (Inherited from cocos.cocosnode.CocosNode)
object | parent The parent of this object. (Inherited from cocos.cocosnode.CocosNode)
(int, int) | position The (x, y) coordinates of the object. (Inherited from cocos.cocosnode.CocosNode)
| rotation (Inherited from cocos.cocosnode.CocosNode)
| scale (Inherited from cocos.cocosnode.CocosNode)
(int,int) | transform_anchor Transformation anchor point. (Inherited from cocos.cocosnode.CocosNode)
| x The x coordinate of the object (Inherited from cocos.cocosnode.CocosNode)
| y The y coordinate of the object (Inherited from cocos.cocosnode.CocosNode)

## Instance Variables

| actions list of Action objects that are running (Inherited from cocos.cocosnode.CocosNode)
| camera eye, center and up vector for the Camera. (Inherited from cocos.cocosnode.CocosNode)
| children list of children. (Inherited from cocos.cocosnode.CocosNode)
| children_names dictionary that maps children names with children references (Inherited from cocos.cocosnode.CocosNode)
| grid the grid object for the grid actions. (Inherited from cocos.cocosnode.CocosNode)
| is_running whether of not the object is running (Inherited from cocos.cocosnode.CocosNode)
| scheduled_calls list of scheduled callbacks (Inherited from cocos.cocosnode.CocosNode)
| scheduled_interval_calls list of scheduled interval callbacks (Inherited from cocos.cocosnode.CocosNode)
| skip_frame whether or not the next frame will be skipped (Inherited from cocos.cocosnode.CocosNode)
| to_remove list of Action objects to be removed (Inherited from cocos.cocosnode.CocosNode)
| transform_anchor_x offset from (x,0) from where rotation and scale will be applied. (Inherited from cocos.cocosnode.CocosNode)
| transform_anchor_y offset from (0,y) from where rotation and scale will be applied. (Inherited from cocos.cocosnode.CocosNode)
| visible whether of not the object is visible. (Inherited from cocos.cocosnode.CocosNode)

## Class Variables

Inherited from `BaseMenuItem`: `activated_effect`, `selected_effect`, `unselected_effect`

## Method Details

### __init__

(Constructor) __init__(self, name, callback_func, *args, **kwargs)
Creates a new menu item

Overrides:
  BaseMenuItem.__init__

### generateWidgets

generateWidgets(self, pos_x, pos_y, font_item, font_item_selected)
Generate a normal and a selected widget. This method should be implemented by descendents.

Overrides:
  BaseMenuItem.generateWidgets

### draw

draw(self)

This is the function you will have to override if you want your subclassed to draw something on screen.

You must respect the position, scale, rotation and anchor attributes. If you want OpenGL to do the scaling for you, you can:

    def draw(self):
        glPushMatrix()
        self.transform()
        # ... draw ..
        glPopMatrix()

Overrides:
  BaseMenuItem.draw