Re: [E-devel] where does elemenetary_test load default.edj into memory

2010-05-24 Thread whtuhtc tu
Hi Rasterman,

Thanks for your explaination, I got the point.

whtuhtc

2010/5/21 Carsten Haitzler ras...@rasterman.com

 On Fri, 21 May 2010 11:19:57 +0800 whtuhtc tu whtu...@gmail.com said:

  More specific, when a AP initialize, it seems wm sould be informed and
 give
  the AP a window. where does it happen?
 
  If my understanding is wrong, please correct mine.

 that's not how x works. the app creates a window. wm isnt invovled at all.
 in
 x11 apps can work with OR without a wm present. you really need to  read up
 on
 x11 and how it works. but the simple version:

 app creates window
 app sets properties on the window (title, name, class, min/max size etc.)
 app shows the window
 x11 intercepts the show and doesnt do it if a wm is present - x sends the
 wm a
 show request event for this window. now it's the wm's problem.
 wm gets the show event
 wm reads any properties it may handle and know about from the window
 wm makes a decision as to what to do with the window
 if wm decides to manage it, it creates its own frame window.
 wm puts app window inside its fram window (reparents it)
 wm may resize app window or may not - up to the wm. on a desktop wm
 generally
 wm uses size that app created the window at and makes the frame just a
 little
 bigger so it can hold titlebar, borders etc.
 wm handles drawing the titlebar and borders, but app keeps drawing to its
 own
 window and handling its own keyboard and mouse input events directly from
 x. wm
 isnt invovled in these events (beyond setting window focus - focus tells
 the
 xserver where keyboard events go (what window) whhen you press keys as they
 can
 only go to 1 window (the focused window).

 thats an example of what generally happens. didfferent wm's may work
 slightly
 differently. override-redirec windows bypass the wm and dont have their
 show
 request redirected to the wm - the wm doesnt interfere with such windows
 (they
 are used generally for popup menus for example).

 anyway - you need to study up on x11 before you want to understand the
 rest. :)
 toolkits like efl (elementary) are just libraries that create windows,
 handle
 keyboard + mouse input and draw to those windows for you filling them with
 stuff.

  whtuhtc
 
  2010/5/21 Carsten Haitzler ras...@rasterman.com
 
   On Fri, 21 May 2010 10:05:02 +0800 whtuhtc tu whtu...@gmail.com
 said:
  
I am trying to understand the EFL, including how to use and how to
 modify
   to
fit my own purpose.
by the way, where does the AP developed based on the elementary
 toolkit
communicate with the window manager, when the AP start. Is it in
ecore_init()?
  
   no - as such where does it communicated with the wm - that is a
 complex
   topic. first you'd need to just know how x11 and window managers work
 in
   general - there is no one place where they communicate - it happens
 in
   many
   places, sometimes explicit, most of the time just implicitly by setting
   properties (hints) or simply trying to do things and the wm reacts.
  
whtuhtc
2010/5/20 Vincent Torri vto...@univ-evry.fr
   


 On Thu, 20 May 2010, wh tu wrote:

  Hi Rasterman,

 I know my qusetion is too rough. Thanks for you reminder. :-)

 Anyway, I am interested in EFL. It is a work of art I will trace
 the
 source
 and try to figure out.


 are you interested in working with the EFL, or on the EFL ?

 Vincent


  Also thanks for Atton's reply.

 2010/5/20 Atton Jonathan jonathan.at...@gmail.com

  Search ELM_THEME in the source file.

 2010/5/20 Carsten Haitzler ras...@rasterman.com

  On Tue, 18 May 2010 16:28:36 +0800 wh tu whtu...@gmail.com
 said:

  Hi Rasterman and Vincent,

 Thanks for your quick reply.

 I will look at the elm_theme.c. If this is not so time
 -consuming
   for

 you

 could you tell me the startup processes when elementary_test
 run?


 u.. it does... stuff! lots and lots and lots of it... going
 down
 many
 many
 many layers through multiple libraries, caches and more... it's
 like
 asking
 can you tell me the history of the roman empire please, if it's
 not
   too
 time
 consuming :) sure they started small - conquered a large chunk
 of
 wseter
 europe and the middle east, grew big, became decadent and
 eventually
 disintegrated. :)

  Thanks

 whtuhtc

 2010/5/18 Vincent Torri vto...@univ-evry.fr



 On Tue, 18 May 2010, Carsten Haitzler (The Rasterman) wrote:

  On Tue, 18 May 2010 15:11:28 +0800 wh tu whtu...@gmail.com
   said:


  Hi,


 I am interested in elementary toolkit. I know
 elementary_test
   load
 data/theme/default.edj as its default theme, but I cannot
 find
   out

 in

 which
 source code file the default.edj file is loaded. I guess
 this

 process
  

[E-devel] Check if image file is recalsed

2010-05-24 Thread whtuhtc tu
Hi,

If I want to check if the image file is rescaled by EFL, where can I log or
print a message to reminder me?
Are there only evas_object_resize and evas_object_image_fill_set used to
rescaled image file?


Thanks in advance.

whtuhtc
--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Check if image file is recalsed

2010-05-24 Thread Vincent Torri


On Mon, 24 May 2010, whtuhtc tu wrote:

 Hi,

 If I want to check if the image file is rescaled by EFL, where can I log or
 print a message to reminder me?

To resize the image itself:

evas_object_image_size_set(o, width, height);
evas_object_image_fill_set(o, 0, 0, width, height);

To resize the Evas_Object that will display the image:

evas_object_resize(o, width, height);

So, if you do:

evas_object_image_size_set(o, 2 * width, 2 * height);
evas_object_image_fill_set(o, 0, 0, 2 * width, 2 * height);
evas_object_resize(o, width, height);

the image will have twice its width and height, but you will only see a 
quarter of it.

Vincent

 Are there only evas_object_resize and evas_object_image_fill_set used to
 rescaled image file?


 Thanks in advance.

 whtuhtc
 --

 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Request for version upgrade when API changes

2010-05-24 Thread The Rasterman
On Mon, 24 May 2010 10:41:41 +0200 Benjamin Zores b...@geexbox.org said:

simple answer: no.
why? because until 1.0 we are NOT maintaining ABI or API compatibility. that's
what 1.0 is about. no - we will NOT change the .so major version for this as i
want to STRICTLY keep so versions in line with library versions. a 2.0 ==
api/abi break from 1.x but until 1.0 we discard any effort in tracking abi and
api changes. this saves time and effort for us and this has been the policy
ever since. (if we have changed .so major versions we'd probably be at like
libXXX.so.87 by now). so not going to happen. as of 1.0  compatbility will be
strictly adhered to. ie 1.0 and 1.1 will be forwards compatible (apps written
for 1.0 will work with 1.1 - but possibly not the other way around - eg we
added a function call in 1.1 that wasn't in 1.0 - this is the standard way
things work on linux/unix).

as such every snapshot we added a change in soname (temporary) to make sure you
can keep backwards-compat libs around. but... you'd have to stick to using
snapshots only then. as such you are using SVN and .. using it comes with its
inherent qualities - you're using the developers playpen stuff. it will change
api, abi, break and so on and we don't go around doing all the maintenance bits
just because we change an api in our svn.

sorry to be the bearer of bad news - but we choose not to do that work. if you
want to do it when making packages.. go ahead :)

(fyi - i just added preliminary runtime and compile time version stuff to eet -
this is a longer-term plan to have easy version adapting 1.0 and beyond, but
until then, it's playpen stuff. the eet version stuff is up for comment and
let me know what you think etc. - nothing in any other libs yet).

 Hi,
 
 I'd like to ask you to consider a version number change/bump when API changes.
 One of the biggest issue with EFL (my point of view but shared by
 dozens people) is the
 API unstability.
 
 As a developer, I understand and am fine with it but it's just not
 right for users and distro maintainers
 as one can't just always ask for using the latest SVN.
 
 E.g. Latest snapshot release of Elementary is 0.6.0.063.
 Latest SVN still is 0.6.0.063 but the API is different: some new
 functions (no problem here) but some existing proto have changed.
 When developing an application, one has no way to even keep a
 compatibility level as there's no way to determine which
 version of the library we're compiling against.
 
 So I'm not requesting for any release/snapshots or whatever but if you
 could just:
 - update the libefl.pc
 - potentially have a version number in a #define in the lib header
 
 Each time API/ABI has changed, that would be really helpful.
 
 Thx,
 
 Ben
 
 --
 
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 


-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Request for version upgrade when API changes

2010-05-24 Thread Daniele Ricci
On Mon, May 24, 2010 at 10:57, Carsten Haitzler ras...@rasterman.com wrote:
 simple answer: no.

Raster just said no :P

(just joking, it's not so hard for me to keep my source in-line with
EFL... I'll wait... hopefully).

-- 
daniele_athome

--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Request for version upgrade when API changes

2010-05-24 Thread The Rasterman
On Mon, 24 May 2010 11:05:26 +0200 Benjamin Zores b...@geexbox.org said:

 On Mon, May 24, 2010 at 10:57 AM, Carsten Haitzler ras...@rasterman.com
 wrote:
  On Mon, 24 May 2010 10:41:41 +0200 Benjamin Zores b...@geexbox.org said:
 
  simple answer: no.
  why? because until 1.0 we are NOT maintaining ABI or API compatibility.
  that's what 1.0 is about. no - we will NOT change the .so major version for
  this as i want to STRICTLY keep so versions in line with library versions.
  a 2.0 == api/abi break from 1.x but until 1.0 we discard any effort in
  tracking abi and api changes. this saves time and effort for us and this
  has been the policy ever since. (if we have changed .so major versions we'd
  probably be at like libXXX.so.87 by now). so not going to happen. as of 1.0
   compatbility will be strictly adhered to. ie 1.0 and 1.1 will be forwards
  compatible (apps written for 1.0 will work with 1.1 - but possibly not the
  other way around - eg we added a function call in 1.1 that wasn't in 1.0 -
  this is the standard way things work on linux/unix).
 
 I do understand your reason fully and was expected such an answer actually :-)
 Though I wasn't requesting for a major/minor version bump.
 
 Eg. Elementary 0.6.0.063 - 0.6.0.064, the library still is called .so.0.6.0
 
 Anyhow, I don't know since how long people are waiting for 1.0 but
 you probably heard this complaint much more than I ever did :-)

yup - i know... and it's some pain you'll have to live with sorry.. until
1.0 - but.. trust me - we  are actively talking of doing a 1.0 alpha - that
means we dont intend any abi/api breaks from there and plan to add some final
small touches and clear up bugs. we're not quite there yet. i want to whack out
some   more todo items and get a bunch of patches in before calling that.

the problem is - it's an api. once we lock it down - we are stuck supporting
that version of the api for YEARS. i don't want to do that. i want to keep the
warning signs up and keep those using them on their toes - so they know that
nup.. you cant rely on the api to be solid and 100% supported going forward
until 1.0. thats kind the the seal of approval thing. until then i am keeping
things fluid. right now i get to make a change if its needed - and dont even
think about it. that saves pain and effort. we do need version check handling
as of 1.0 - definitely. as i said - i've started adding it in. eet was the
first candidate for a test as its actually at 1.2.3 now. 1.3.0 will have the
version check in it (and that makes me really unhappy because it should have
been in from 1.0 on and that just tells you eet was released way too soon -
entirely because of pressure to do so and with nothing useful having ever come
of it, and now simply more complexity for app developers as they had no way to
know api version until 1.3 - i want that in from 1.0.).

i've been doing libraries for linux for longer than most people have even known
about linux. i've learned a thing or 2 along the way, and one of those is to be
very conservative about versions, changes and releases, as once you have an api
- and people use it, you're STUCK maintaining and supporting it. for MANY
years. i do not want to be stuck with something that isnt at least half-way
decent and thats going to stand the test of time. otherwise you will see a 2.0,
3.0, 4.0, 5.0 in quick succession and a bunch of very pissed off app developers
who have to adapt (or stay on an old version) and for sanity mainline will
simply not want to release patches, fixes etc. for 1.0 when we're on 4.0
ourselves.

so don't think i hate you :) i am trying to maximise ultimate quality while
minimising support etc. costs. there is a period of pain as a result :)

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Exchange

2010-05-24 Thread Dave Andreoli
I can confirm also the exhange API is down :(
dave

2010/5/24 Tom Haste tomha...@gmail.com:
 Hi all,

 http://exchange.enlightenment.org/

 is now a 500 error. Can someone please fix this? :|

 Toma.

 --

 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Check if image file is recalsed

2010-05-24 Thread Atton Jonathan
sorry, this is evas_object_image_filled_set

2010/5/24 Atton Jonathan jonathan.at...@gmail.com

 or :

 evas_object_image_file_set 1 time and then when you rezise :
 evas_object_resize

 2010/5/24 Vincent Torri vto...@univ-evry.fr



 On Mon, 24 May 2010, whtuhtc tu wrote:

  Hi,
 
  If I want to check if the image file is rescaled by EFL, where can I log
 or
  print a message to reminder me?

 To resize the image itself:

 evas_object_image_size_set(o, width, height);
 evas_object_image_fill_set(o, 0, 0, width, height);

 To resize the Evas_Object that will display the image:

 evas_object_resize(o, width, height);

 So, if you do:

 evas_object_image_size_set(o, 2 * width, 2 * height);
 evas_object_image_fill_set(o, 0, 0, 2 * width, 2 * height);
 evas_object_resize(o, width, height);

 the image will have twice its width and height, but you will only see a
 quarter of it.

 Vincent

  Are there only evas_object_resize and evas_object_image_fill_set used to
  rescaled image file?
 
 
  Thanks in advance.
 
  whtuhtc
 
 --
 
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 
 


 --

 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel




 --
 Regards.




-- 
Regards.
--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Check if image file is recalsed

2010-05-24 Thread Atton Jonathan
or :

evas_object_image_file_set 1 time and then when you rezise :
evas_object_resize

2010/5/24 Vincent Torri vto...@univ-evry.fr



 On Mon, 24 May 2010, whtuhtc tu wrote:

  Hi,
 
  If I want to check if the image file is rescaled by EFL, where can I log
 or
  print a message to reminder me?

 To resize the image itself:

 evas_object_image_size_set(o, width, height);
 evas_object_image_fill_set(o, 0, 0, width, height);

 To resize the Evas_Object that will display the image:

 evas_object_resize(o, width, height);

 So, if you do:

 evas_object_image_size_set(o, 2 * width, 2 * height);
 evas_object_image_fill_set(o, 0, 0, 2 * width, 2 * height);
 evas_object_resize(o, width, height);

 the image will have twice its width and height, but you will only see a
 quarter of it.

 Vincent

  Are there only evas_object_resize and evas_object_image_fill_set used to
  rescaled image file?
 
 
  Thanks in advance.
 
  whtuhtc
 
 --
 
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 
 


 --

 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel




-- 
Regards.
--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: bdilly trunk/TMP/st/elementary/src/lib

2010-05-24 Thread Bruno Dilly
On Mon, May 24, 2010 at 12:06 AM, Iván Briano (Sachiel)
sachi...@gmail.com wrote:
 On Mon, May 24, 2010 at 8:41 AM, Enlightenment SVN
 no-re...@enlightenment.org wrote:
 Log:
  Implement elm index sorted insert
   - Name index item as Elm_Index_Item
   - Add some other index functions:
     + Item find
     + Data get/set
     + Letter get

  I think this stuff will make easier to create index for
  dynamically created lists.

 Author:       bdilly
 Date:         2010-05-23 16:41:32 -0700 (Sun, 23 May 2010)
 New Revision: 49171

 Modified:
  trunk/TMP/st/elementary/src/lib/Elementary.h.in 
 trunk/TMP/st/elementary/src/lib/elm_index.c

 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in
 ===
 --- trunk/TMP/st/elementary/src/lib/Elementary.h.in     2010-05-23 23:23:51 
 UTC (rev 49170)
 +++ trunk/TMP/st/elementary/src/lib/Elementary.h.in     2010-05-23 23:41:32 
 UTC (rev 49171)
 @@ -1266,6 +1266,7 @@
     * vertical (two up/down buttons at the right side and text left aligned)
     */

 +   typedef struct _Elm_Index_Item Elm_Index_Item;
    EAPI Evas_Object *elm_index_add(Evas_Object *parent);
    EAPI void         elm_index_active_set(Evas_Object *obj, Eina_Bool 
 active);
    EAPI void         elm_index_item_level_set(Evas_Object *obj, int level);
 @@ -1275,9 +1276,14 @@
    EAPI void         elm_index_item_prepend(Evas_Object *obj, const char 
 *letter, const void *item);
    EAPI void         elm_index_item_append_relative(Evas_Object *obj, const 
 char *letter, const void *item, const void *relative);
    EAPI void         elm_index_item_prepend_relative(Evas_Object *obj, const 
 char *letter, const void *item, const void *relative);
 +   EAPI void         elm_index_item_sorted_insert(Evas_Object *obj, const 
 char *letter, const void *item, Eina_Compare_Cb cmp_func, Eina_Compare_Cb 
 cmp_data_func);
    EAPI void         elm_index_item_del(Evas_Object *obj, const void *item);
 +   EAPI Elm_Index_Item *elm_index_item_find(Evas_Object *obj, const void 
 *item);
    EAPI void         elm_index_item_clear(Evas_Object *obj);
    EAPI void         elm_index_item_go(Evas_Object *obj, int level);
 +   EAPI void         *elm_index_item_data_get(const Elm_Index_Item *item);
 +   EAPI void         elm_index_item_data_set(Elm_Index_Item *it, const void 
 *data);
 +   EAPI const char   *elm_index_item_letter_get(const Elm_Index_Item *item);
    /* smart callbacks called:
     * changed - when the selected index item changes
     * delay,changed - when the selected index item changes, but after some 
 small idle period

 Modified: trunk/TMP/st/elementary/src/lib/elm_index.c
 ===
 --- trunk/TMP/st/elementary/src/lib/elm_index.c 2010-05-23 23:23:51 UTC (rev 
 49170)
 +++ trunk/TMP/st/elementary/src/lib/elm_index.c 2010-05-23 23:41:32 UTC (rev 
 49171)
 @@ -9,7 +9,6 @@
  */

  typedef struct _Widget_Data Widget_Data;
 -typedef struct _Item Item;

  struct _Widget_Data
  {
 @@ -26,7 +25,7 @@
    Eina_Bool down : 1;
  };

 -struct _Item
 +struct _Elm_Index_Item
  {
    Evas_Object *obj;
    const char *letter;
 @@ -42,13 +41,13 @@
  static void _sizing_eval(Evas_Object *obj);
  static void _index_box_auto_fill(Evas_Object *obj, Evas_Object *box, int 
 level);
  static void _index_box_clear(Evas_Object *obj, Evas_Object *box, int level);
 -static void _item_free(Item *it);
 +static void _item_free(Elm_Index_Item *it);

  static void
  _del_hook(Evas_Object *obj)
  {
    Widget_Data *wd = elm_widget_data_get(obj);
 -   Item *it;
 +   Elm_Index_Item *it;
    Eina_List *l, *clear = NULL;
    if (!wd) return;
    _index_box_clear(obj, wd-bx[wd-level], wd-level);
 @@ -138,13 +137,13 @@
    evas_object_size_hint_max_set(obj, maxw, maxh);
  }

 -static Item *
 +static Elm_Index_Item *
  _item_new(Evas_Object *obj, const char *letter, const void *item)
  {
    Widget_Data *wd = elm_widget_data_get(obj);
 -   Item *it;
 +   Elm_Index_Item *it;
    if (!wd) return NULL;
 -   it = calloc(1, sizeof(Item));
 +   it = calloc(1, sizeof(Elm_Index_Item));
    if (!it) return NULL;
    it-obj = obj;
    it-letter = eina_stringshare_add(letter);
 @@ -153,12 +152,12 @@
    return it;
  }

 -static Item *
 +static Elm_Index_Item *
  _item_find(Evas_Object *obj, const void *item)
  {
    Widget_Data *wd = elm_widget_data_get(obj);
    Eina_List *l;
 -   Item *it;
 +   Elm_Index_Item *it;
    if (!wd) return NULL;
    EINA_LIST_FOREACH(wd-items, l, it)
      if (it-data == item) return it;
 @@ -166,7 +165,7 @@
  }

  static void
 -_item_free(Item *it)
 +_item_free(Elm_Index_Item *it)
  {
    Widget_Data *wd = elm_widget_data_get(it-obj);
    if (!wd) return;
 @@ -182,7 +181,7 @@
  {
    Widget_Data *wd = elm_widget_data_get(obj);
    Eina_List *l;
 -   Item *it;
 +   Elm_Index_Item *it;
    Evas_Coord mw, mh, w, h;
    int i = 0;
    if (!wd) return;
 @@ -235,7 +234,7 @@
  {
    Widget_Data *wd = 

Re: [E-devel] Evas and Arabic support

2010-05-24 Thread Tom Hacohen
On Mon, May 24, 2010 at 5:13 AM, Pigeon pig...@pigeond.net wrote:

I've noticed there are some Arabic related patches to Evas a
 few months ago. I'm wondering what is the status of Arabic support,
 like including Arabic text input and display.


It should display Arabic correct (mostly, but the word Allah for instance
isn't
displayed correctly yet). On the other hand, full interface mirroring and
text
block alignments are not yet supported.


I was trying to e-mail Tom, who submitted those Arabic patches,
 about this but his e-mail bounced back.


I'm this Tom, and I'm alive and kicking, feel free to contact me at any
time.


Does anyone know if the Arabic support needs any more work, or
 if it might work to some degree already?


Arabic support does need more work, but as I said, it's fully functional.
I'm an Hebrew speaker myself, I have know nothing about Arabic, I just
compared
texts from wikipedia to my renderings (with very little help from an Arabic
friend of mine).
I use EFL with Hebrew on a day to day basis, it's very usable, but again,
final touches are missing,
and I think Arabic should be the same.
I think I will start working on full RTL (Hebrew, Arabic, Persian and etc)
support for enlightenment
starting next week, I will have more info then, ask me in a week to know my
status
if you are interested.

If you have any more questions, please let me know. But to sum things up:
Arabic support is basic now and I hope to vastly improve it soon.
-- 
Tom.
--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Using evas to resize image

2010-05-24 Thread Rafael Fonseca

Guys,

I want to use evas to resize an image file. I'm using the attached 
program, but it's saving a black rectangle instead of the resized image. 
Can someone point me what I'm doing wrong?


Thanks.

--
Rafael Fonseca
ProFUSION embedded systems
http://www.profusion.mobi
#include limits.h
#include Evas.h
#include Ecore_Evas.h

int
main(int argc, char *argv[])
{
int namelen, w, h, error;
Evas *e;
Ecore_Evas *ee;
Evas_Object *img;
char name[PATH_MAX], *ext;

if (argc  2) {
fprintf(stderr, Usage: %s image\n, argv[0]);
return 1;
}

if (!ecore_evas_init()) {
fprintf(stderr, Could not init ecore-evas\n);
return 1;
}

ee = ecore_evas_buffer_new(480, 800);
if (!ee) {
fprintf(stderr, Could not create an ecore-evas\n);
return 1;
}

e = ecore_evas_get(ee);
if (!e) {
fprintf(stderr, Could not get evas\n);
return 1;
}

img = evas_object_image_add(e);
if (!img) {
fprintf(stderr, Could not add image obj\n);
return -1;
}
evas_object_image_file_set(img, argv[1], NULL);
error = evas_object_image_load_error_get(img);
if (error != EVAS_LOAD_ERROR_NONE) {
fprintf(stderr, could not load image %s\n, argv[1]);
return -2;
}
evas_object_image_fill_set(img, 0, 0, 480, 800);

evas_object_image_size_get(img, w, h);
printf(Original size: %d x %d\n, w, h);
if ((w = 0) || (h = 0))
return -3;

namelen = strlen(argv[1]);
ext = argv[1] + namelen - 4;
memcpy(name, argv[1], namelen - 4);
sprintf(name + namelen - 4, _resized%s, ext);

/* This size set call is destroying my image buffer */
evas_object_image_size_set(img, 480, 800);

if (!evas_object_image_save(img, name, NULL, NULL))
fprintf(stderr, Could not save image %s\n, name);

evas_object_del(img);
ecore_evas_free(ee);
ecore_evas_shutdown();

return 0;
}
--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Using evas to resize image

2010-05-24 Thread Nicolas Aguirre
On Mon, May 24, 2010 at 10:40 PM, Rafael Fonseca
rfons...@profusion.mobi wrote:
 Guys,

 I want to use evas to resize an image file. I'm using the attached program,
 but it's saving a black rectangle instead of the resized image. Can someone
 point me what I'm doing wrong?

 Thanks.



I don't see any evas_object_show in your code, maybe this is the problem ?


-- 
Nicolas Aguirre
Mail: aguirre.nico...@gmail.com
Web: http://www.digital-corner.org

--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Using evas to resize image

2010-05-24 Thread Gustavo Sverzut Barbieri
On Mon, May 24, 2010 at 5:40 PM, Rafael Fonseca rfons...@profusion.mobi wrote:
 Guys,

 I want to use evas to resize an image file. I'm using the attached program,
 but it's saving a black rectangle instead of the resized image. Can someone
 point me what I'm doing wrong?

Nicolas might have found it, but next time copy the code from
http://trac.enlightenment.org/e/wiki/EFLRecipes/Thumbnailer

Or even better, although Ethumb main target is creating thumbnails at
~/.thumbnails, it can create images of any size anywhere, so just use
it and avoid doing lots of work to avoid your application to block
while it renders and then save... during that the app will queue X11
events in the socket and the mess is done.

IOW: use Ethumb daemon and client API.

BR,

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--
MSN: barbi...@gmail.com
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] e17 segfaulting on change of ibox or favorites or clicking on settings windows

2010-05-24 Thread David C. Rankin
On 05/22/2010 10:29 PM, Carsten Haitzler (The Rasterman) wrote:
 On Sat, 22 May 2010 21:06:28 -0500 David C. Rankin
 drankina...@suddenlinkmail.com said:
 
 quick test - did you build the svg loader for evas? check
 PREFIX/lib/evas/modules/loaders
 
 is there and svg dir? if so... rm -rfthe svg dir and try again. i've seen
 issues with librsvg before often enough to not trust it.
 

Well,

I guess Dimitry built svg for evas, because when I check, it's there:

17:53 alchemy:~ l /usr/lib64/evas/modules/loaders/
snip
drwxr-xr-x  3 root root 4096 2010-05-20 18:13 svg/

I'll try removing the svg dir and report back.

Thanks Carsten!

-- 
David C. Rankin, J.D.,P.E.
Rankin Law Firm, PLLC
510 Ochiltree Street
Nacogdoches, Texas 75961
Telephone: (936) 715-9333
Facsimile: (936) 715-9339
www.rankinlawfirm.com

--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] e17 segfaulting on change of ibox or favorites or clicking on settings windows

2010-05-24 Thread David C. Rankin
On 05/24/2010 12:11 PM, sda wrote:
 hello fellows,
 
 seems that your help is needed.
 
 current E-svn segv's only on openSUSE-11.0. this distro is a bit
 outdated and i suppose that some backports and fixes (CVE, etc) could be
 the reason of our issue. now i have 2 types of segfaults:
 
 1) described by David below
 2) gadcon container issue (can't add EFM modules to the EFM Toolbar)
 
 the 'gdb' output:
 
 http://pastebin.com/xPBFBpL2
 
 also it may worth to mention that the direct edit of:
 
 $ vim ~/.e/e/applications/bar/default/.order
 
 file goes o'k and no segv's if we're manually adjust E config files.
 
 dunno if this case worth the discussion because oS-11.0 is not a
 'modern' distro and the segv's are not reported for other SLE/oS
 versions.
 
 E-svn-r48925
 
 regards,
 sda

Thanks for helping Dmitry :-)

I'll wait until we get some feedback before installing the new set of 
rpms. If
I can just get one more good update before 11.0 gets to end of life, that would
be worth its weight in gold. (I'm stuck with 11.0 due to the ATI screw the
customer drop of all support for linux on pre-2400 series cards)

As for not modern? Running 2.6.32, 4G/630G, all packages are up to 
date... not
bad for an 'old' noteboot :p

But, alas, if there were a working fglrx driver in 11.2 or 11.3 
milestones, I'd
make the jump, but no dice. (radeonhd blackscreens so that not an option).
(actually, I'd probably jump to Arch to get out of the 'release # next' game and
into a rolling release for my laptop).

If you want me to run tests with your new packages, I'll go load them, 
I don't
mind. But if it's just going to do the same thing, then it seems like an effort
in futility. Let me know on that one.

Also, if anybody else needs me to send more data or run tests, just let 
me know
and I'll get it to you. Thanks!

-- 
David C. Rankin, J.D.,P.E.
Rankin Law Firm, PLLC
510 Ochiltree Street
Nacogdoches, Texas 75961
Telephone: (936) 715-9333
Facsimile: (936) 715-9339
www.rankinlawfirm.com

--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E SVN: bdilly trunk/TMP/st/elementary/src/lib

2010-05-24 Thread Sachiel
On Mon, May 24, 2010 at 10:48 PM, Bruno Dilly bdi...@profusion.mobi wrote:
 On Mon, May 24, 2010 at 12:06 AM, Iván Briano (Sachiel)
 sachi...@gmail.com wrote:
 On Mon, May 24, 2010 at 8:41 AM, Enlightenment SVN
 no-re...@enlightenment.org wrote:
 Log:
  Implement elm index sorted insert
   - Name index item as Elm_Index_Item
   - Add some other index functions:
     + Item find
     + Data get/set
     + Letter get

  I think this stuff will make easier to create index for
  dynamically created lists.

 Author:       bdilly
 Date:         2010-05-23 16:41:32 -0700 (Sun, 23 May 2010)
 New Revision: 49171

 Modified:
  trunk/TMP/st/elementary/src/lib/Elementary.h.in 
 trunk/TMP/st/elementary/src/lib/elm_index.c

 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in
 ===
 --- trunk/TMP/st/elementary/src/lib/Elementary.h.in     2010-05-23 23:23:51 
 UTC (rev 49170)
 +++ trunk/TMP/st/elementary/src/lib/Elementary.h.in     2010-05-23 23:41:32 
 UTC (rev 49171)
 @@ -1266,6 +1266,7 @@
     * vertical (two up/down buttons at the right side and text left aligned)
     */

 +   typedef struct _Elm_Index_Item Elm_Index_Item;
    EAPI Evas_Object *elm_index_add(Evas_Object *parent);
    EAPI void         elm_index_active_set(Evas_Object *obj, Eina_Bool 
 active);
    EAPI void         elm_index_item_level_set(Evas_Object *obj, int level);
 @@ -1275,9 +1276,14 @@
    EAPI void         elm_index_item_prepend(Evas_Object *obj, const char 
 *letter, const void *item);
    EAPI void         elm_index_item_append_relative(Evas_Object *obj, const 
 char *letter, const void *item, const void *relative);
    EAPI void         elm_index_item_prepend_relative(Evas_Object *obj, 
 const char *letter, const void *item, const void *relative);
 +   EAPI void         elm_index_item_sorted_insert(Evas_Object *obj, const 
 char *letter, const void *item, Eina_Compare_Cb cmp_func, Eina_Compare_Cb 
 cmp_data_func);
    EAPI void         elm_index_item_del(Evas_Object *obj, const void *item);
 +   EAPI Elm_Index_Item *elm_index_item_find(Evas_Object *obj, const void 
 *item);
    EAPI void         elm_index_item_clear(Evas_Object *obj);
    EAPI void         elm_index_item_go(Evas_Object *obj, int level);
 +   EAPI void         *elm_index_item_data_get(const Elm_Index_Item *item);
 +   EAPI void         elm_index_item_data_set(Elm_Index_Item *it, const 
 void *data);
 +   EAPI const char   *elm_index_item_letter_get(const Elm_Index_Item 
 *item);
    /* smart callbacks called:
     * changed - when the selected index item changes
     * delay,changed - when the selected index item changes, but after 
 some small idle period

 Modified: trunk/TMP/st/elementary/src/lib/elm_index.c
 ===
 --- trunk/TMP/st/elementary/src/lib/elm_index.c 2010-05-23 23:23:51 UTC 
 (rev 49170)
 +++ trunk/TMP/st/elementary/src/lib/elm_index.c 2010-05-23 23:41:32 UTC 
 (rev 49171)
 @@ -9,7 +9,6 @@
  */

  typedef struct _Widget_Data Widget_Data;
 -typedef struct _Item Item;

  struct _Widget_Data
  {
 @@ -26,7 +25,7 @@
    Eina_Bool down : 1;
  };

 -struct _Item
 +struct _Elm_Index_Item
  {
    Evas_Object *obj;
    const char *letter;
 @@ -42,13 +41,13 @@
  static void _sizing_eval(Evas_Object *obj);
  static void _index_box_auto_fill(Evas_Object *obj, Evas_Object *box, int 
 level);
  static void _index_box_clear(Evas_Object *obj, Evas_Object *box, int 
 level);
 -static void _item_free(Item *it);
 +static void _item_free(Elm_Index_Item *it);

  static void
  _del_hook(Evas_Object *obj)
  {
    Widget_Data *wd = elm_widget_data_get(obj);
 -   Item *it;
 +   Elm_Index_Item *it;
    Eina_List *l, *clear = NULL;
    if (!wd) return;
    _index_box_clear(obj, wd-bx[wd-level], wd-level);
 @@ -138,13 +137,13 @@
    evas_object_size_hint_max_set(obj, maxw, maxh);
  }

 -static Item *
 +static Elm_Index_Item *
  _item_new(Evas_Object *obj, const char *letter, const void *item)
  {
    Widget_Data *wd = elm_widget_data_get(obj);
 -   Item *it;
 +   Elm_Index_Item *it;
    if (!wd) return NULL;
 -   it = calloc(1, sizeof(Item));
 +   it = calloc(1, sizeof(Elm_Index_Item));
    if (!it) return NULL;
    it-obj = obj;
    it-letter = eina_stringshare_add(letter);
 @@ -153,12 +152,12 @@
    return it;
  }

 -static Item *
 +static Elm_Index_Item *
  _item_find(Evas_Object *obj, const void *item)
  {
    Widget_Data *wd = elm_widget_data_get(obj);
    Eina_List *l;
 -   Item *it;
 +   Elm_Index_Item *it;
    if (!wd) return NULL;
    EINA_LIST_FOREACH(wd-items, l, it)
      if (it-data == item) return it;
 @@ -166,7 +165,7 @@
  }

  static void
 -_item_free(Item *it)
 +_item_free(Elm_Index_Item *it)
  {
    Widget_Data *wd = elm_widget_data_get(it-obj);
    if (!wd) return;
 @@ -182,7 +181,7 @@
  {
    Widget_Data *wd = elm_widget_data_get(obj);
    Eina_List *l;
 -   Item *it;
 +   Elm_Index_Item *it;
    Evas_Coord mw, mh, w, h;
    int i = 0;
 

Re: [E-devel] Check if image file is recalsed

2010-05-24 Thread whtuhtc tu
Thanks for the replies.

If I want to know whether the image is rescaled automatically by EFL such as
when enlarging window which contains image object. How can I do?

any suggestions?

2010/5/24 Atton Jonathan jonathan.at...@gmail.com

 sorry, this is evas_object_image_filled_set

 2010/5/24 Atton Jonathan jonathan.at...@gmail.com

 or :

 evas_object_image_file_set 1 time and then when you rezise :
 evas_object_resize

 2010/5/24 Vincent Torri vto...@univ-evry.fr



 On Mon, 24 May 2010, whtuhtc tu wrote:

  Hi,
 
  If I want to check if the image file is rescaled by EFL, where can I
 log or
  print a message to reminder me?

 To resize the image itself:

 evas_object_image_size_set(o, width, height);
 evas_object_image_fill_set(o, 0, 0, width, height);

 To resize the Evas_Object that will display the image:

 evas_object_resize(o, width, height);

 So, if you do:

 evas_object_image_size_set(o, 2 * width, 2 * height);
 evas_object_image_fill_set(o, 0, 0, 2 * width, 2 * height);
 evas_object_resize(o, width, height);

 the image will have twice its width and height, but you will only see a
 quarter of it.

 Vincent

  Are there only evas_object_resize and evas_object_image_fill_set used
 to
  rescaled image file?
 
 
  Thanks in advance.
 
  whtuhtc
 
 --
 
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 
 


 --

 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel




 --
 Regards.




 --
 Regards.

--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Check if image file is recalsed

2010-05-24 Thread Gustavo Sverzut Barbieri
On Mon, May 24, 2010 at 10:48 PM, whtuhtc tu whtu...@gmail.com wrote:
 Thanks for the replies.

 If I want to know whether the image is rescaled automatically by EFL such as
 when enlarging window which contains image object. How can I do?

you can't know about images being rescaled, as this is the image-fill
property as explained in this thread.

but the property does not change automatically, you must do it yourself.

if you are looking for edje or evas_object_image_filled, these will
act when object is resized, matching the fill and the following code
may help:

evas_object_event_callback_add(img, EVAS_CALLBACK_RESIZE,
_img_resized_cb, _some_context_data);




-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--
MSN: barbi...@gmail.com
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

--

___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel