ewk_window_features.cpp [plain text]
#include "config.h"
#include "ewk_window_features.h"
#include "WindowFeatures.h"
#include "ewk_private.h"
#include <Eina.h>
struct _Ewk_Window_Features {
unsigned int __ref;
WebCore::WindowFeatures* core;
};
void ewk_window_features_unref(Ewk_Window_Features* windowFeatures)
{
EINA_SAFETY_ON_NULL_RETURN(windowFeatures);
EINA_SAFETY_ON_FALSE_RETURN(windowFeatures->__ref > 0);
if (--windowFeatures->__ref)
return;
delete windowFeatures->core;
windowFeatures->core = 0;
delete windowFeatures;
}
void ewk_window_features_ref(Ewk_Window_Features* windowFeatures)
{
EINA_SAFETY_ON_NULL_RETURN(windowFeatures);
windowFeatures->__ref++;
}
void ewk_window_features_bool_property_get(const Ewk_Window_Features* windowFeatures, Eina_Bool* toolbarVisible, Eina_Bool* statusbarVisible, Eina_Bool* scrollbarsVisible, Eina_Bool* menubarVisible, Eina_Bool* locationbarVisible, Eina_Bool* fullScreen)
{
EINA_SAFETY_ON_NULL_RETURN(windowFeatures);
EINA_SAFETY_ON_NULL_RETURN(windowFeatures->core);
if (toolbarVisible)
*toolbarVisible = windowFeatures->core->toolBarVisible;
if (statusbarVisible)
*statusbarVisible = windowFeatures->core->statusBarVisible;
if (scrollbarsVisible)
*scrollbarsVisible = windowFeatures->core->scrollbarsVisible;
if (menubarVisible)
*menubarVisible = windowFeatures->core->menuBarVisible;
if (locationbarVisible)
*locationbarVisible = windowFeatures->core->locationBarVisible;
if (fullScreen)
*fullScreen = windowFeatures->core->fullscreen;
}
void ewk_window_features_int_property_get(const Ewk_Window_Features* windowFeatures, int* x, int* y, int* width, int* height)
{
EINA_SAFETY_ON_NULL_RETURN(windowFeatures);
EINA_SAFETY_ON_NULL_RETURN(windowFeatures->core);
if (x)
*x = windowFeatures->core->xSet ? static_cast<int>(windowFeatures->core->x) : -1;
if (y)
*y = windowFeatures->core->ySet ? static_cast<int>(windowFeatures->core->y) : -1;
if (width)
*width = windowFeatures->core->widthSet ? static_cast<int>(windowFeatures->core->width) : -1;
if (height)
*height = windowFeatures->core->heightSet ? static_cast<int>(windowFeatures->core->height) : -1;
}
Ewk_Window_Features* ewk_window_features_new_from_core(const WebCore::WindowFeatures* core)
{
Ewk_Window_Features* window_features = new Ewk_Window_Features;
if (core)
window_features->core = new WebCore::WindowFeatures(*core);
else
window_features->core = new WebCore::WindowFeatures();
window_features->__ref = 1;
return window_features;
}