efl.file: move 'save' method into separate efl.file_save interface
the save method is implemented very rarely, and most objects which use efl.file will not be able to use a save method ref T5719 Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de> Differential Revision: https://phab.enlightenment.org/D7786
This commit is contained in:
parent
e59603ee4c
commit
aadd9af864
|
@ -23,6 +23,7 @@ efl_eolian_files = \
|
||||||
lib/efl/interfaces/efl_control.eo \
|
lib/efl/interfaces/efl_control.eo \
|
||||||
lib/efl/interfaces/efl_duplicate.eo \
|
lib/efl/interfaces/efl_duplicate.eo \
|
||||||
lib/efl/interfaces/efl_file.eo \
|
lib/efl/interfaces/efl_file.eo \
|
||||||
|
lib/efl/interfaces/efl_file_save.eo \
|
||||||
lib/efl/interfaces/efl_gfx_image_load_controller.eo \
|
lib/efl/interfaces/efl_gfx_image_load_controller.eo \
|
||||||
lib/efl/interfaces/efl_part.eo \
|
lib/efl/interfaces/efl_part.eo \
|
||||||
lib/efl/interfaces/efl_playable.eo \
|
lib/efl/interfaces/efl_playable.eo \
|
||||||
|
|
|
@ -85,6 +85,7 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
|
||||||
#include "interfaces/efl_control.eo.h"
|
#include "interfaces/efl_control.eo.h"
|
||||||
#include "interfaces/efl_duplicate.eo.h"
|
#include "interfaces/efl_duplicate.eo.h"
|
||||||
#include "interfaces/efl_file.eo.h"
|
#include "interfaces/efl_file.eo.h"
|
||||||
|
#include "interfaces/efl_file_save.eo.h"
|
||||||
#include "interfaces/efl_gfx_image.eo.h"
|
#include "interfaces/efl_gfx_image.eo.h"
|
||||||
#include "interfaces/efl_gfx_frame_controller.eo.h"
|
#include "interfaces/efl_gfx_frame_controller.eo.h"
|
||||||
#include "interfaces/efl_gfx_image_load_controller.eo.h"
|
#include "interfaces/efl_gfx_image_load_controller.eo.h"
|
||||||
|
|
|
@ -60,3 +60,4 @@ _efl_file_load_error_get(const Eo *obj EINA_UNUSED, Efl_File_Data *pd)
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "interfaces/efl_file.eo.c"
|
#include "interfaces/efl_file.eo.c"
|
||||||
|
#include "interfaces/efl_file_save.eo.c"
|
||||||
|
|
|
@ -89,27 +89,5 @@ mixin Efl.File {
|
||||||
$null, otherwise.]]
|
$null, otherwise.]]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
save @const @pure_virtual {
|
|
||||||
[[Save the given image object's contents to an (image) file.
|
|
||||||
|
|
||||||
The extension suffix on $file will determine which saver
|
|
||||||
module Evas is to use when saving, thus the final file's
|
|
||||||
format. If the file supports multiple data stored in it (Eet ones),
|
|
||||||
you can specify the key to be used as the index of the image in it.
|
|
||||||
|
|
||||||
You can specify some flags when saving the image. Currently
|
|
||||||
acceptable flags are $quality and $compress. Eg.:
|
|
||||||
"quality=100 compress=9".
|
|
||||||
]]
|
|
||||||
params {
|
|
||||||
@in file: string @nonull; [[The filename to be used to save the image (extension
|
|
||||||
obligatory).]]
|
|
||||||
@in key: string; [[The image key in the file (if an Eet one), or $null,
|
|
||||||
otherwise.]]
|
|
||||||
@in flags: string; [[String containing the flags to be used ($null for
|
|
||||||
none).]]
|
|
||||||
}
|
|
||||||
return: bool; [[$true on success, $false otherwise]]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
import eina_types;
|
||||||
|
|
||||||
|
interface Efl.File_Save {
|
||||||
|
[[Efl file saving interface]]
|
||||||
|
methods {
|
||||||
|
save @const {
|
||||||
|
[[Save the given image object's contents to an (image) file.
|
||||||
|
|
||||||
|
The extension suffix on $file will determine which saver
|
||||||
|
module Evas is to use when saving, thus the final file's
|
||||||
|
format. If the file supports multiple data stored in it (Eet ones),
|
||||||
|
you can specify the key to be used as the index of the image in it.
|
||||||
|
|
||||||
|
You can specify some flags when saving the image. Currently
|
||||||
|
acceptable flags are $quality and $compress. Eg.:
|
||||||
|
"quality=100 compress=9".
|
||||||
|
]]
|
||||||
|
params {
|
||||||
|
@in file: string @nonull; [[The filename to be used to save the image (extension
|
||||||
|
obligatory).]]
|
||||||
|
@in key: string; [[The image key in the file (if an Eet one), or $null,
|
||||||
|
otherwise.]]
|
||||||
|
@in flags: string; [[String containing the flags to be used ($null for
|
||||||
|
none).]]
|
||||||
|
}
|
||||||
|
return: bool; [[$true on success, $false otherwise]]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -49,6 +49,7 @@ pub_eo_files = [
|
||||||
'efl_control.eo',
|
'efl_control.eo',
|
||||||
'efl_duplicate.eo',
|
'efl_duplicate.eo',
|
||||||
'efl_file.eo',
|
'efl_file.eo',
|
||||||
|
'efl_file_save.eo',
|
||||||
'efl_gfx_image_load_controller.eo',
|
'efl_gfx_image_load_controller.eo',
|
||||||
'efl_part.eo',
|
'efl_part.eo',
|
||||||
'efl_player.eo',
|
'efl_player.eo',
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
abstract Efl.Canvas.Image_Internal extends Efl.Canvas.Object implements Efl.Canvas.Filter.Internal,
|
abstract Efl.Canvas.Image_Internal extends Efl.Canvas.Object implements Efl.Canvas.Filter.Internal,
|
||||||
Efl.Gfx.Image, Efl.Gfx.Buffer,
|
Efl.Gfx.Image, Efl.Gfx.Buffer,
|
||||||
Efl.Gfx.Fill, Efl.Gfx.View,
|
Efl.Gfx.Fill, Efl.Gfx.View,
|
||||||
Efl.Orientation, Efl.File
|
Efl.Orientation, Efl.File_Save
|
||||||
{
|
{
|
||||||
[[Efl canvas internal image class]]
|
[[Efl canvas internal image class]]
|
||||||
data: Evas_Image_Data;
|
data: Evas_Image_Data;
|
||||||
|
@ -10,7 +10,7 @@ abstract Efl.Canvas.Image_Internal extends Efl.Canvas.Object implements Efl.Canv
|
||||||
Efl.Object.destructor;
|
Efl.Object.destructor;
|
||||||
Efl.Object.finalize;
|
Efl.Object.finalize;
|
||||||
Efl.Object.debug_name_override;
|
Efl.Object.debug_name_override;
|
||||||
Efl.File.save;
|
Efl.File_Save.save;
|
||||||
Efl.Orientation.orientation { get; set; }
|
Efl.Orientation.orientation { get; set; }
|
||||||
Efl.Orientation.flip { get; set; }
|
Efl.Orientation.flip { get; set; }
|
||||||
Efl.Gfx.Image.smooth_scale { get; set; }
|
Efl.Gfx.Image.smooth_scale { get; set; }
|
||||||
|
|
|
@ -283,7 +283,7 @@ _efl_canvas_vg_object_efl_file_file_get(const Eo *obj EINA_UNUSED, Efl_Canvas_Vg
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static Eina_Bool
|
EOLIAN static Eina_Bool
|
||||||
_efl_canvas_vg_object_efl_file_save(const Eo *obj, Efl_Canvas_Vg_Object_Data *pd, const char *file, const char *key, const char *flags)
|
_efl_canvas_vg_object_efl_file_save_save(const Eo *obj, Efl_Canvas_Vg_Object_Data *pd, const char *file, const char *key, const char *flags)
|
||||||
{
|
{
|
||||||
if (pd->vg_entry)
|
if (pd->vg_entry)
|
||||||
return evas_cache_vg_entry_file_save(pd->vg_entry, file, key, flags);
|
return evas_cache_vg_entry_file_save(pd->vg_entry, file, key, flags);
|
||||||
|
|
|
@ -21,7 +21,7 @@ enum Efl.Canvas.Vg.Fill_Mode
|
||||||
dimension of the viewport.]]
|
dimension of the viewport.]]
|
||||||
}
|
}
|
||||||
|
|
||||||
class Efl.Canvas.Vg.Object extends Efl.Canvas.Object implements Efl.File
|
class Efl.Canvas.Vg.Object extends Efl.Canvas.Object implements Efl.File, Efl.File_Save
|
||||||
{
|
{
|
||||||
[[Efl vector graphics class]]
|
[[Efl vector graphics class]]
|
||||||
legacy_prefix: evas_object_vg;
|
legacy_prefix: evas_object_vg;
|
||||||
|
@ -75,6 +75,6 @@ class Efl.Canvas.Vg.Object extends Efl.Canvas.Object implements Efl.File
|
||||||
Efl.Object.destructor;
|
Efl.Object.destructor;
|
||||||
// FIXME: Implement mmap only (also fix cache keys)
|
// FIXME: Implement mmap only (also fix cache keys)
|
||||||
Efl.File.file { get; set; }
|
Efl.File.file { get; set; }
|
||||||
Efl.File.save;
|
Efl.File_Save.save;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -907,7 +907,7 @@ _evas_canvas3d_mesh_efl_file_file_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd,
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static Eina_Bool
|
EOLIAN static Eina_Bool
|
||||||
_evas_canvas3d_mesh_efl_file_save(const Eo *obj, Evas_Canvas3D_Mesh_Data *pd,
|
_evas_canvas3d_mesh_efl_file_save_save(const Eo *obj, Evas_Canvas3D_Mesh_Data *pd,
|
||||||
const char *file,
|
const char *file,
|
||||||
const char *key EINA_UNUSED,
|
const char *key EINA_UNUSED,
|
||||||
const char *flags EINA_UNUSED)
|
const char *flags EINA_UNUSED)
|
||||||
|
|
|
@ -2,7 +2,7 @@ import evas_canvas3d_types;
|
||||||
|
|
||||||
struct @extern Eina.Inarray; [[Eina inarray data structure]]
|
struct @extern Eina.Inarray; [[Eina inarray data structure]]
|
||||||
|
|
||||||
class Evas.Canvas3D.Mesh extends Evas.Canvas3D.Object implements Efl.File
|
class Evas.Canvas3D.Mesh extends Evas.Canvas3D.Object implements Efl.File, Efl.File_Save
|
||||||
{
|
{
|
||||||
[[Evas 3D canvas mesh class]]
|
[[Evas 3D canvas mesh class]]
|
||||||
data: Evas_Canvas3D_Mesh_Data;
|
data: Evas_Canvas3D_Mesh_Data;
|
||||||
|
@ -428,7 +428,7 @@ class Evas.Canvas3D.Mesh extends Evas.Canvas3D.Object implements Efl.File
|
||||||
Evas.Canvas3D.Object.change_notify;
|
Evas.Canvas3D.Object.change_notify;
|
||||||
Efl.File.file { get; set; }
|
Efl.File.file { get; set; }
|
||||||
Efl.File.mmap { get; set; }
|
Efl.File.mmap { get; set; }
|
||||||
Efl.File.save;
|
Efl.File_Save.save;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -855,7 +855,7 @@ _efl_canvas_image_internal_efl_gfx_image_ratio_get(const Eo *eo_obj EINA_UNUSED,
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static Eina_Bool
|
EOLIAN static Eina_Bool
|
||||||
_efl_canvas_image_internal_efl_file_save(const Eo *eo_obj, Evas_Image_Data *o, const char *file, const char *key, const char *flags)
|
_efl_canvas_image_internal_efl_file_save_save(const Eo *eo_obj, Evas_Image_Data *o, const char *file, const char *key, const char *flags)
|
||||||
{
|
{
|
||||||
int quality = 80, compress = 9, ok = 0;
|
int quality = 80, compress = 9, ok = 0;
|
||||||
char *encoding = NULL;
|
char *encoding = NULL;
|
||||||
|
|
Loading…
Reference in New Issue