\begin{DoxyDate}{Date}
2009 (created)
\end{DoxyDate}
\hypertarget{ethumb_main_ethumb_toc}{}\doxysection{Table of Contents}\label{ethumb_main_ethumb_toc}
\begin{DoxyItemize}
\item \mbox{\hyperlink{ethumb_main_ethumb_main_intro}{Introduction}} \item \mbox{\hyperlink{ethumb_main_ethumb_main_compiling}{How to compile}} \item \mbox{\hyperlink{ethumb_main_ethumb_main_next_steps}{Next Steps}}\end{DoxyItemize}
\hypertarget{ethumb_main_ethumb_main_intro}{}\doxysection{Introduction}\label{ethumb_main_ethumb_main_intro}
Ethumb will use \mbox{\hyperlink{group__Evas}{Evas}} to generate thumbnail images of given files. The API allows great customization of the generated files and also helps compling to Free\+Desktop.\+Org Thumbnail Specification (\href{http://specifications.freedesktop.org/thumbnail-spec/thumbnail-spec-latest.html}{\texttt{ http\+://specifications.\+freedesktop.\+org/thumbnail-\/spec/thumbnail-\/spec-\/latest.\+html}})

However, thumbnailing can be an expensive process that will impact your application experience, blocking animations and user interaction during the generation. Another problem is that one should try to cache the thumbnails in a place that other applications can benefit from the file.

\mbox{\hyperlink{group__Ethumb__Client}{Ethumb Client}} exists to solve this. It will communicate with a server using standard D-\/\+Bus protocol. The server will use \mbox{\hyperlink{group__Ethumb}{Ethumb}} itself to generate the thumbnail images and cache them using Free\+Desktop.\+Org standard. It is recommended that most applications use \mbox{\hyperlink{group__Ethumb__Client}{Ethumb Client}} instead of \mbox{\hyperlink{group__Ethumb}{Ethumb}} directly.\hypertarget{ethumb_main_ethumb_main_compiling}{}\doxysection{How to compile}\label{ethumb_main_ethumb_main_compiling}
Ethumb is a library your application links to. The procedure for this is very simple. Note that usually you want the D-\/\+Bus client library. You simply have to compile your application with the appropriate compiler flags that the {\ttfamily pkg-\/config} script outputs. For example\+:

Compiling C or C++ files into object files\+:

\begin{DoxyVerb}gcc -c -o main.o main.c `pkg-config --cflags ethumb_client`
\end{DoxyVerb}


Linking object files into a binary executable\+:

\begin{DoxyVerb}gcc -o my_application main.o `pkg-config --libs ethumb_client`
\end{DoxyVerb}


See \mbox{\hyperlink{pkgconfig}{pkgconfig}}\hypertarget{ethumb_main_ethumb_main_next_steps}{}\doxysection{Next Steps}\label{ethumb_main_ethumb_main_next_steps}
After you understood what Ethumb is and installed it in your system you should proceed understanding the programming interface.

Recommended reading\+:

\begin{DoxyItemize}
\item \mbox{\hyperlink{group__Ethumb__Client}{Ethumb Client}} to generate thumbnails using a server (recommended). \item \mbox{\hyperlink{group__Ethumb}{Ethumb}} to generate thumbnails in the local process. \end{DoxyItemize}
