Image button (lv_imgbtn) ======================== Overview ******** The Image button is very similar to the simple 'Button' object. The only difference is that it displays user-defined images in each state instead of drawing a rectangle. You can set a left, right and center image, and the center image will be repeated to match the width of the object. Parts and Styles **************** - :cpp:enumerator:`LV_PART_MAIN` Refers to the image(s). If background style properties are used, a rectangle will be drawn behind the image button. Usage ***** Image sources ------------- To set the image in a state, use the :cpp:expr:`lv_imgbtn_set_src(imgbtn, LV_IMGBTN_STATE_..., src_left, src_center, src_right)`. The image sources work the same as described in the `Image object `__ except that "Symbols" are not supported by the Image button. Any of the sources can ``NULL``. The possible states are: - :cpp:enumerator:`LV_IMGBTN_STATE_RELEASED` - :cpp:enumerator:`LV_IMGBTN_STATE_PRESSED` - :cpp:enumerator:`LV_IMGBTN_STATE_DISABLED` - :cpp:enumerator:`LV_IMGBTN_STATE_CHECKED_RELEASED` - :cpp:enumerator:`LV_IMGBTN_STATE_CHECKED_PRESSED` - :cpp:enumerator:`LV_IMGBTN_STATE_CHECKED_DISABLED` If you set sources only in :cpp:enumerator:`LV_IMGBTN_STATE_RELEASED`, these sources will be used in other states too. If you set e.g. :cpp:enumerator:`LV_IMGBTN_STATE_PRESSED` they will be used in pressed state instead of the released images. States ------ Instead of the regular ``lv_obj_add/clear_state()`` functions the :cpp:expr:`lv_imgbtn_set_state(imgbtn, LV_IMGBTN_STATE_...)` functions should be used to manually set a state. Events ****** - :cpp:enumerator:`LV_EVENT_VALUE_CHANGED` Sent when the button is toggled. Learn more about :ref:`events`. Keys **** - ``LV_KEY_RIGHT/UP`` Go to toggled state if :cpp:enumerator:`LV_OBJ_FLAG_CHECKABLE` is enabled. - ``LV_KEY_LEFT/DOWN`` Go to non-toggled state if :cpp:enumerator:`LV_OBJ_FLAG_CHECKABLE` is enabled. - :cpp:enumerator:`LV_KEY_ENTER` Clicks the button Learn more about :ref:`indev_keys`. Example ******* .. include:: ../examples/widgets/imgbtn/index.rst API ***