summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_win_inlined.c
blob: 54407b7705d456e85e848bc3d3c1877c74cf8715 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif

#define EFL_UI_WIN_PROTECTED
#define EFL_UI_WIN_INLINED_PROTECTED

#include <Elementary.h>

#include "elm_priv.h"
#include "efl_ui_win_inlined_legacy.eo.h"

#define MY_CLASS EFL_UI_WIN_INLINED_CLASS
#define MY_CLASS_NAME "Efl.Ui.Win_Inlined"
#define MY_CLASS_NAME_LEGACY "elm_win"

typedef struct
{
   Eo *parent; /**< This is the parent specific to the inlined window, aka parent2 */
} Efl_Ui_Win_Inlined_Data;

void
efl_ui_win_inlined_parent_set(Eo *obj, Efl_Canvas_Object *parent)
{
   Efl_Ui_Win_Inlined_Data *pd = efl_data_scope_safe_get(obj, MY_CLASS);
   if (!pd) return;
   pd->parent = parent;
}

EOLIAN static Efl_Canvas_Object *
_efl_ui_win_inlined_inlined_parent_get(const Eo *obj EINA_UNUSED, Efl_Ui_Win_Inlined_Data *pd)
{
   return pd->parent;
}

EOLIAN static Efl_Object *
_efl_ui_win_inlined_efl_object_finalize(Eo *obj, Efl_Ui_Win_Inlined_Data *pd EINA_UNUSED)
{
   efl_ui_win_type_set(obj, ELM_WIN_INLINED_IMAGE);
   obj = efl_finalize(efl_super(obj, MY_CLASS));

   return obj;
}

#include "efl_ui_win_inlined.eo.c"

static void
_efl_ui_win_inlined_legacy_class_constructor(Efl_Class *klass)
{
   evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}

EOLIAN static Eo *
_efl_ui_win_inlined_legacy_efl_object_finalize(Eo *obj, void *pd EINA_UNUSED)
{
   obj = efl_finalize(efl_super(obj, EFL_UI_WIN_INLINED_LEGACY_CLASS));
   efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
   return obj;
}

#include "efl_ui_win_inlined_legacy.eo.c"