summaryrefslogtreecommitdiff
path: root/legacy/ethumb/TODO
blob: 6a6dde2e2c319b0191588664378f685cf3a3ea16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 * documentation (based on python bindings)
   * Ethumb (adapt most bits based on Ethumb_Client)
   * Ethumb_Client (mostly done)
   * finish ethumb_client tutorial

 * memory handling:
   * zero pointer parameters before failing on SAFETY macros (file_get, etc)

 * ethumb_object:
   smart object (ethumb_object_add())that given a file_set() will
   automatically use Ethumb_Client to check if thumbnail exists or
   generate a new one, do evas_object_image_preload() and then show
   the object.

   To save memory and avoid thousands of Ethumb_Client, this should be
   shared among all Evas_Object that take a reference when object is
   created, releasing the reference after thumbnail is generated. When
   the last user releases it, start a timer to disconnect in X seconds
   (5-10 seconds is good enough).

   Similar to Ethumb_Client, it should expose all Ethumb properties,
   they would be cached locally and on smart_calculate() they should
   be dispatched to server for a new thumbnail if source file pat set.

 * elm_thumbnail:
   using ethumb_object, this can be based on E17 ethumb object that
   uses edje and can have the theme set, so on load a nice animation
   can happen, animate a throbber while it generates, etc. It may
   return ethumb_object (Evas_Object) if user wants to set fancy
   parameters.

 * unit tests, be them in C or Python, covering:
   * thumbnail generation respect parameters (size, format...)
   * respect fdo standards (hash, location, etc, uri with spaces...)
   * server died recovery, just add timeout and kill server before expires

 * examples:
   * error handling, including reconnection.