/* * Copyright 2012 Samsung Electronics Co., Ltd * * Licensed under the Flora License, Version 1.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.tizenopensource.org/license * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef __IVUG_MAIN_VIEWER_H__ #define __IVUG_MAIN_VIEWER_H__ #include "ivug-common.h" #include "ivug-details-view.h" #include "ivug-setas-view.h" #define MAX_CTRL_ITEM_CNT 5 #define MAX_NAVI_ITEM_CNT 3 //navigation bar type typedef enum NAVI_BAR_TYPE { NAVI_BAR_TYPE_NONE = 0x00, NAVI_BAR_TYPE_EMPTY, // no control bar NAVI_BAR_TYPE_IMAGE, // no control bar NAVI_BAR_TYPE_VIDEO, // no control bar NAVI_BAR_TYPE_SELECT, // [Ok, Cancel] from take photo } _navi_bar_type; //control bar type typedef enum CTRL_BAR_TYPE{ CTRL_BAR_TYPE_NONE = 0x00, CTRL_BAR_TYPE_EMPTY, // not exist ctrl bar CTRL_BAR_TYPE_FILE, // [Delete,Info] file manager, video at gallery CTRL_BAR_TYPE_CAMERA_IMAGE, // [Delete,Info] camera image file CTRL_BAR_TYPE_CAMERA_VIDEO, // [Delete,Info] camera video file CTRL_BAR_TYPE_IMAGE, // [Delete,Slide show, Info] from gallery CTRL_BAR_TYPE_VIDEO, // [Delete,Slide show, Info] from gallery } _ctrl_bar_type; typedef struct { Evas_Object *parent; Evas_Object *layout; /*Layout widget based on EDJ*/ Evas_Object *navi_bar; Elm_Object_Item *navi_it; Evas_Object* empty_layout; //navigation bar contents layout Evas_Object* slider; //image viewer slider Evas_Object* event_blocker; Evas_Object* selectioninfo; Evas_Object *back_btn; /* |-------------------| |naviframe(tool_bar)| |-------------------| | | | | | | | | |-------------------| | ctrl_bar | |-------------------| */ // Tool Bar enum NAVI_BAR_TYPE tool_bar_type; Evas_Object* tool_bar_item[MAX_NAVI_ITEM_CNT]; // Control bar item in navigation header. ex) SetAs, Info // Control Bar Evas_Object *ctrl_bar; enum CTRL_BAR_TYPE ctrl_bar_type; Elm_Object_Item *ctrl_bar_item[MAX_CTRL_ITEM_CNT]; // Bottom control bar item. ex) Delete, etc... Evas_Object* popup; //popup Evas_Object* copy_popup; //copy popup Eina_List* popup_list; Ivug_SetAsView *pSetAsView; Ivug_DetailsView *pDetailsView; Evas_Object *btn_detail; Evas_Object *btn_detail_data; //flag bool bShowMenu; ivug_mode mode; ivug_view_by view_by; struct ui_gadget *ext_ug; struct ui_gadget *ugHandle; Ecore_Event_Handler *keydown_handler; Ecore_Timer *exit_timer; Eina_Bool option_show; } Ivug_MainView; /* Create MainView layout */ Ivug_MainView * ivug_main_view_create(Evas_Object* parent, ivug_mode mode, ivug_view_by view_by); Evas_Object * ivug_main_view_object_get(Ivug_MainView *pMainView); /* Load media list from parameter. */ bool ivug_main_view_load_list(Ivug_MainView *pMainView, ivug_parameter* ivug_param); void ivug_main_view_update(Ivug_MainView *pMainView); void ivug_main_view_destroy(Ivug_MainView *pMainView); #endif //__IVUG_MAIN_VIEWER_H__