summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2014-06-30 15:37:03 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2014-07-03 11:37:47 +0900
commit2b191b3c51e75f9a97612b1ad324ecdf496aa031 (patch)
treef4e5e2a0bcd80f581f4b0bc259c65a5dd3975caa
parent8c80b1a7f4bd58a68601b687bb610b3194812353 (diff)
downloadefl-2b191b3c51e75f9a97612b1ad324ecdf496aa031.tar.gz
Evas loader: Introduce border param
-rw-r--r--src/lib/evas/Evas_Loader.h4
-rw-r--r--src/lib/evas/include/evas_common_private.h5
-rw-r--r--src/modules/evas/loaders/tgv/evas_image_load_tgv.c4
3 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/evas/Evas_Loader.h b/src/lib/evas/Evas_Loader.h
index c3e7fe153a..1b74253553 100644
--- a/src/lib/evas/Evas_Loader.h
+++ b/src/lib/evas/Evas_Loader.h
@@ -181,6 +181,10 @@ struct _Evas_Image_Property
const Evas_Colorspace *cspaces; /**< Specify the color space handled by the loader @since 1.10 */
Evas_Colorspace cspace; /**< Specify the color space handle by the engine @since 1.10 */
+
+ struct {
+ unsigned char l, r, t, b; /**< Specify the dimensions of duplicated pixels borders (for OpenGL compressed textures). Set by the loader. @since 1.11 */
+ } borders;
};
struct _Evas_Image_Animated
diff --git a/src/lib/evas/include/evas_common_private.h b/src/lib/evas/include/evas_common_private.h
index 1470ca5e6a..b1cc92e944 100644
--- a/src/lib/evas/include/evas_common_private.h
+++ b/src/lib/evas/include/evas_common_private.h
@@ -609,6 +609,11 @@ struct _Image_Entry
struct
{
+ unsigned char l, r, t, b;
+ } borders; // Duplicated borders for use by GL engines.
+
+ struct
+ {
Evas_Module *module;
Evas_Image_Load_Func *loader;
} info;
diff --git a/src/modules/evas/loaders/tgv/evas_image_load_tgv.c b/src/modules/evas/loaders/tgv/evas_image_load_tgv.c
index c5aa3b7a15..7ff0fc3954 100644
--- a/src/modules/evas/loaders/tgv/evas_image_load_tgv.c
+++ b/src/modules/evas/loaders/tgv/evas_image_load_tgv.c
@@ -239,6 +239,10 @@ evas_image_load_file_head_tgv(void *loader_data,
prop->w = loader->size.width;
prop->h = loader->size.height;
+ prop->borders.l = 1;
+ prop->borders.t = 1;
+ prop->borders.r = roundup(loader->size.width + 2, 4) - prop->w - 1;
+ prop->borders.b = roundup(loader->size.height + 2, 4) - prop->h - 1;
ret = EINA_TRUE;