acid-drop

- Hacking the planet from a LilyGo T-Deck using custom firmware
git clone git://git.acid.vegas/acid-drop.git
Log | Files | Refs | Archive | README | LICENSE

lv_objx_templ.c (3300B)

      1 /**
      2  * @file lv_templ.c
      3  *
      4  */
      5 
      6 /**
      7  * TODO Remove these instructions
      8  * Search and replace: templ -> object short name with lower case(e.g. btn, label etc)
      9  *                    TEMPL -> object short name with upper case (e.g. BTN, LABEL etc.)
     10  *
     11  * You can remove the defined() clause from the #if statement below. This exists because
     12  * LV_USE_TEMPL is not in lv_conf.h or lv_conf_template.h by default.
     13  */
     14 
     15 /*********************
     16  *      INCLUDES
     17  *********************/
     18 //#include "lv_templ.h" /*TODO uncomment this*/
     19 
     20 #if defined(LV_USE_TEMPL) && LV_USE_TEMPL != 0
     21 
     22 /*********************
     23  *      DEFINES
     24  *********************/
     25 #define MY_CLASS &lv_templ_class
     26 
     27 /**********************
     28  *      TYPEDEFS
     29  **********************/
     30 
     31 /**********************
     32  *  STATIC PROTOTYPES
     33  **********************/
     34 static void lv_templ_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
     35 static void lv_templ_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
     36 static void lv_templ_event(const lv_obj_class_t * class_p, lv_event_t * e);
     37 
     38 /**********************
     39  *  STATIC VARIABLES
     40  **********************/
     41 const lv_obj_class_t lv_templ_class = {
     42     .constructor_cb = lv_templ_constructor,
     43     .destructor_cb = lv_templ_destructor,
     44     .event_cb = lv_templ_event,
     45     .width_def = LV_DPI_DEF,
     46     .height_def = LV_DPI_DEF,
     47     .instance_size = sizeof(lv_templ_t),
     48     .group_def = LV_OBJ_CLASS_GROUP_DEF_INHERIT,
     49     .editable = LV_OBJ_CLASS_EDITABLE_INHERIT,
     50     .base_class = &lv_templ_class
     51 };
     52 
     53 /**********************
     54  *      MACROS
     55  **********************/
     56 
     57 /**********************
     58  *   GLOBAL FUNCTIONS
     59  **********************/
     60 
     61 lv_obj_t * lv_templ_create(lv_obj_t * parent)
     62 {
     63 
     64     LV_LOG_INFO("begin");
     65     lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent);
     66     lv_obj_class_init_obj(obj);
     67     return obj;
     68 }
     69 
     70 /*======================
     71  * Add/remove functions
     72  *=====================*/
     73 
     74 /*
     75  * New object specific "add" or "remove" functions come here
     76  */
     77 
     78 /*=====================
     79  * Setter functions
     80  *====================*/
     81 
     82 /*
     83  * New object specific "set" functions come here
     84  */
     85 
     86 /*=====================
     87  * Getter functions
     88  *====================*/
     89 
     90 /*
     91  * New object specific "get" functions come here
     92  */
     93 
     94 /*=====================
     95  * Other functions
     96  *====================*/
     97 
     98 /*
     99  * New object specific "other" functions come here
    100  */
    101 
    102 /**********************
    103  *   STATIC FUNCTIONS
    104  **********************/
    105 
    106 static void lv_templ_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
    107 {
    108     LV_UNUSED(class_p);
    109     LV_TRACE_OBJ_CREATE("begin");
    110 
    111     lv_templ_t * templ = (lv_templ_t *)obj;
    112     /*Initialize the widget's data*/
    113 
    114     LV_TRACE_OBJ_CREATE("finished");
    115 }
    116 
    117 static void lv_templ_destructor(const lv_obj_class_t * class_p, lv_obj_t * obj)
    118 {
    119     lv_templ_t * templ = (lv_templ_t *)obj;
    120     /*Free the widget specific data*/
    121 }
    122 
    123 static void lv_templ_event(const lv_obj_class_t * class_p, lv_event_t * e)
    124 {
    125     LV_UNUSED(class_p);
    126 
    127     lv_res_t res;
    128 
    129     /*Call the ancestor's event handler*/
    130     res = lv_obj_event_base(MY_CLASS, e);
    131     if(res != LV_RES_OK) return;
    132 
    133     /*Add the widget specific event handling here*/
    134 }
    135 
    136 #else /*Enable this file at the top*/
    137 
    138 /*This dummy typedef exists purely to silence -Wpedantic.*/
    139 typedef int keep_pedantic_happy;
    140 #endif