Enlightenment CVS committal
Author : doursse
Project : e17
Module : proto/epdf
Dir : e17/proto/epdf/src/lib
Modified Files:
etk_pdf.c etk_pdf.h ewl_pdf.c ewl_pdf.h
Log Message:
* src/bin/epdf_etk_test.c: (main):
* src/bin/epdf_ewl_test.c: (main):
set the scale to 0.5 to test the resizing of the widgets
* src/lib/etk_pdf.c: (etk_pdf_file_set), (etk_pdf_page_set),
(etk_pdf_page_get), (etk_pdf_size_get), (etk_pdf_orientation_set),
(etk_pdf_orientation_get), (etk_pdf_scale_set),
(etk_pdf_scale_get), (etk_pdf_page_next), (etk_pdf_page_previous),
(etk_pdf_search_text_set), (etk_pdf_search_first_page_set),
(etk_pdf_search_is_case_sensitive), (etk_pdf_search_next),
(etk_pdf_pdf_document_get), (etk_pdf_pdf_page_get),
(etk_pdf_pdf_index_get), (_etk_pdf_destructor), (_etk_pdf_load):
* src/lib/etk_pdf.h:
* src/lib/ewl_pdf.c: (ewl_pdf_file_set), (ewl_pdf_search_next),
(ewl_pdf_configure_cb), (ewl_pdf_reveal_cb):
* src/lib/ewl_pdf.h:
formatting
take scale into account when dealing with ewl widget
===================================================================
RCS file: /cvs/e/e17/proto/epdf/src/lib/etk_pdf.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- etk_pdf.c 22 May 2008 06:53:05 -0000 1.14
+++ etk_pdf.c 25 May 2008 13:49:17 -0000 1.15
@@ -92,17 +92,17 @@
etk_object_notify(ETK_OBJECT(pdf), "pdf_file");
if (pdf->pdf_document)
- epdf_document_delete (pdf->pdf_document);
+ epdf_document_delete(pdf->pdf_document);
if (pdf->pdf_page)
- epdf_page_delete (pdf->pdf_page);
+ epdf_page_delete(pdf->pdf_page);
if (pdf->pdf_index)
- epdf_index_delete (pdf->pdf_index);
+ epdf_index_delete(pdf->pdf_index);
- pdf->pdf_document = epdf_document_new (pdf->filename);
- pdf->pdf_page = epdf_page_new (pdf->pdf_document);
- pdf->pdf_index = epdf_index_new (pdf->pdf_document);
+ pdf->pdf_document = epdf_document_new(pdf->filename);
+ pdf->pdf_page = epdf_page_new(pdf->pdf_document);
+ pdf->pdf_index = epdf_index_new(pdf->pdf_document);
pdf->search.o = NULL;
pdf->search.text = NULL;
@@ -136,12 +136,12 @@
if (!pdf ||
!pdf->pdf_document ||
(page < 0) ||
- (page >= epdf_document_page_count_get (pdf->pdf_document)) ||
- (page == epdf_page_page_get (pdf->pdf_page)))
+ (page >= epdf_document_page_count_get(pdf->pdf_document)) ||
+ (page == epdf_page_page_get(pdf->pdf_page)))
return;
- epdf_page_page_set (pdf->pdf_page, page);
- _etk_pdf_load (pdf);
+ epdf_page_page_set(pdf->pdf_page, page);
+ _etk_pdf_load(pdf);
}
/**
@@ -154,7 +154,7 @@
if (!pdf)
return 0;
- return epdf_page_page_get (pdf->pdf_page);
+ return epdf_page_page_get(pdf->pdf_page);
}
/**
@@ -172,7 +172,7 @@
return;
}
- epdf_page_size_get (pdf->pdf_page, width, height);
+ epdf_page_size_get(pdf->pdf_page, width, height);
evas_object_image_size_get(pdf->pdf_object, width, height);
}
@@ -185,13 +185,13 @@
*
* Sets an orientation @p o of the document
*/
-void etk_pdf_orientation_set (Etk_Pdf *pdf, Epdf_Page_Orientation o)
+void etk_pdf_orientation_set(Etk_Pdf *pdf, Epdf_Page_Orientation o)
{
if (!pdf || !pdf->pdf_page)
return;
- epdf_page_orientation_set (pdf->pdf_page, o);
- _etk_pdf_load (pdf);
+ epdf_page_orientation_set(pdf->pdf_page, o);
+ _etk_pdf_load(pdf);
}
/**
@@ -200,12 +200,12 @@
* @brief get the orientation of the document @p pdf. If @p pdf
* is NULL, return EPDF_PAGE_ORIENTATION_PORTRAIT
*/
-Epdf_Page_Orientation etk_pdf_orientation_get (Etk_Pdf *pdf)
+Epdf_Page_Orientation etk_pdf_orientation_get(Etk_Pdf *pdf)
{
if (!pdf || !pdf->pdf_page)
return EPDF_PAGE_ORIENTATION_PORTRAIT;
- return epdf_page_orientation_get (pdf->pdf_page);
+ return epdf_page_orientation_get(pdf->pdf_page);
}
/**
@@ -218,13 +218,13 @@
* Sets the horizontal scale @p hscale ans the vertical scale @p vscale
* of the document @p pdf
*/
-void etk_pdf_scale_set (Etk_Pdf *pdf, double hscale, double vscale)
+void etk_pdf_scale_set(Etk_Pdf *pdf, double hscale, double vscale)
{
if (!pdf || !pdf->pdf_page)
return;
- epdf_page_scale_set (pdf->pdf_page, hscale, vscale);
- _etk_pdf_load (pdf);
+ epdf_page_scale_set(pdf->pdf_page, hscale, vscale);
+ _etk_pdf_load(pdf);
}
/**
@@ -235,7 +235,7 @@
* @brief get the horizontal scale @p hscale ans the vertical scale
* @p vscale of the document @p pdf. If @p pdf is NULL, their values are 1.0
*/
-void etk_pdf_scale_get (Etk_Pdf *pdf, double *hscale, double *vscale)
+void etk_pdf_scale_get(Etk_Pdf *pdf, double *hscale, double *vscale)
{
if (!pdf) {
if (hscale) *hscale = 1.0;
@@ -243,7 +243,7 @@
return;
}
- epdf_page_scale_get (pdf->pdf_page, hscale, vscale);
+ epdf_page_scale_get(pdf->pdf_page, hscale, vscale);
}
/**
@@ -252,7 +252,7 @@
* @brief go to the next page and render it
*/
void
-etk_pdf_page_next (Etk_Pdf *pdf)
+etk_pdf_page_next(Etk_Pdf *pdf)
{
int page;
@@ -262,7 +262,7 @@
page = epdf_page_page_get(pdf->pdf_page);
if (page < (epdf_document_page_count_get(pdf->pdf_document) - 1))
page++;
- etk_pdf_page_set (pdf, page);
+ etk_pdf_page_set(pdf, page);
}
/**
@@ -271,7 +271,7 @@
* @brief go to the previous page and render it
*/
void
-etk_pdf_page_previous (Etk_Pdf *pdf)
+etk_pdf_page_previous(Etk_Pdf *pdf)
{
int page;
@@ -281,11 +281,11 @@
page = epdf_page_page_get(pdf->pdf_page);
if (page > 0)
page--;
- etk_pdf_page_set (pdf, page);
+ etk_pdf_page_set(pdf, page);
}
void
-etk_pdf_search_text_set (Etk_Pdf *pdf, const char *text)
+etk_pdf_search_text_set(Etk_Pdf *pdf, const char *text)
{
if (!pdf)
return;
@@ -295,13 +295,13 @@
strcmp (text, pdf->search.text) == 0))
return;
- if (pdf->search.text) free (pdf->search.text);
- pdf->search.text = strdup (text);
+ if (pdf->search.text) free(pdf->search.text);
+ pdf->search.text = strdup(text);
pdf->search.page = -1;
}
void
-etk_pdf_search_first_page_set (Etk_Pdf *pdf, int page)
+etk_pdf_search_first_page_set(Etk_Pdf *pdf, int page)
{
if (!pdf)
return;
@@ -311,7 +311,7 @@
}
void
-etk_pdf_search_is_case_sensitive (Etk_Pdf *pdf, int is_case_sensitive)
+etk_pdf_search_is_case_sensitive(Etk_Pdf *pdf, int is_case_sensitive)
{
if (!pdf)
return;
@@ -321,7 +321,7 @@
}
int
-etk_pdf_search_next (Etk_Pdf *pdf)
+etk_pdf_search_next(Etk_Pdf *pdf)
{
if (!pdf)
return ETK_FALSE;
@@ -335,29 +335,29 @@
evas = etk_widget_toplevel_evas_get(ETK_WIDGET(pdf));
if (!evas)
return ETK_FALSE;
- pdf->search.o = evas_object_rectangle_add (evas);
+ pdf->search.o = evas_object_rectangle_add(evas);
if (!pdf->search.o)
return ETK_FALSE;
evas_object_color_set(pdf->search.o, 0, 128, 0, 128);
- evas_object_hide (pdf->search.o);
+ evas_object_hide(pdf->search.o);
}
next_page:
/* no list, we search one */
while (!pdf->search.list &&
- pdf->search.page < epdf_document_page_count_get (pdf->pdf_document))
{
+ pdf->search.page < epdf_document_page_count_get(pdf->pdf_document)) {
Epdf_Page *page;
pdf->search.page++;
printf ("page : %d\n", pdf->search.page);
- epdf_page_page_set (pdf->pdf_page, pdf->search.page);
-/* page = epdf_page_new (pdf->pdf_document, pdf->search.page); */
- pdf->search.list = epdf_page_text_find (page,
- pdf->search.text,
- pdf->search.is_case_sensitive);
+ epdf_page_page_set(pdf->pdf_page, pdf->search.page);
+/* page = epdf_page_new(pdf->pdf_document, pdf->search.page); */
+ pdf->search.list = epdf_page_text_find(page,
+ pdf->search.text,
+ pdf->search.is_case_sensitive);
if (pdf->search.list)
- ecore_list_first_goto (pdf->search.list);
- epdf_page_delete (page);
+ ecore_list_first_goto(pdf->search.list);
+ epdf_page_delete(page);
}
/* an already existing list or a netky one */
@@ -365,32 +365,32 @@
Epdf_Rectangle *rect;
int x, y, w, h;
- if ((rect = (Epdf_Rectangle *)ecore_list_next (pdf->search.list))) {
+ if ((rect = (Epdf_Rectangle *)ecore_list_next(pdf->search.list))) {
if (pdf->search.page != epdf_page_page_get(pdf->pdf_page)) {
- etk_pdf_page_set (pdf, pdf->search.page);
- _etk_pdf_load (pdf);
+ etk_pdf_page_set(pdf, pdf->search.page);
+ _etk_pdf_load(pdf);
}
- etk_widget_geometry_get (ETK_WIDGET (pdf), &x, &y, &w, &h);
- evas_object_move (pdf->search.o,
- x + round (rect->x1 - 1),
- y + round (rect->y1 - 1));
- evas_object_resize (pdf->search.o,
- round (rect->x2 - rect->x1 + 1),
- round (rect->y2 - rect->y1));
- if (!evas_object_visible_get (pdf->search.o))
- evas_object_show (pdf->search.o);
+ etk_widget_geometry_get(ETK_WIDGET(pdf), &x, &y, &w, &h);
+ evas_object_move(pdf->search.o,
+ x + round(rect->x1 - 1),
+ y + round(rect->y1 - 1));
+ evas_object_resize(pdf->search.o,
+ round(rect->x2 - rect->x1 + 1),
+ round(rect->y2 - rect->y1));
+ if (!evas_object_visible_get(pdf->search.o))
+ evas_object_show(pdf->search.o);
/* we leave... */
return ETK_TRUE;
}
else { /* no more word to find. We destroy the list */
- ecore_list_destroy (pdf->search.list);
+ ecore_list_destroy(pdf->search.list);
pdf->search.list = NULL;
/* we search a new one */
- printf ("page0 : %d\n", pdf->search.page);
+ printf("page0 : %d\n", pdf->search.page);
goto next_page;
}
}
- evas_object_hide (pdf->search.o);
+ evas_object_hide(pdf->search.o);
if (pdf->search.is_circular) {
pdf->search.page = -1;
@@ -405,7 +405,7 @@
* @param pdf an pdf
* @return Returns the document of the pdf (NULL on failure)
*/
-Epdf_Document *etk_pdf_pdf_document_get (Etk_Pdf *pdf)
+Epdf_Document *etk_pdf_pdf_document_get(Etk_Pdf *pdf)
{
if (!pdf)
return NULL;
@@ -418,7 +418,7 @@
* @param pdf an pdf
* @return Returns the poppler page of the pdf (NULL on failure)
*/
-Epdf_Page *etk_pdf_pdf_page_get (Etk_Pdf *pdf)
+Epdf_Page *etk_pdf_pdf_page_get(Etk_Pdf *pdf)
{
if (!pdf)
return NULL;
@@ -431,7 +431,7 @@
* @param pdf an pdf
* @return Returns the index of the pdf document (NULL on failure)
*/
-Ecore_List *etk_pdf_pdf_index_get (Etk_Pdf *pdf)
+Ecore_List *etk_pdf_pdf_index_get(Etk_Pdf *pdf)
{
if (!pdf)
return NULL;
@@ -485,9 +485,9 @@
return;
if (pdf->filename) free(pdf->filename);
- epdf_document_delete (pdf->pdf_document);
- epdf_page_delete (pdf->pdf_page);
- epdf_index_delete (pdf->pdf_index);
+ epdf_document_delete(pdf->pdf_document);
+ epdf_page_delete(pdf->pdf_page);
+ epdf_index_delete(pdf->pdf_index);
}
/* Sets the property whose id is "property_id" to the value "value" */
@@ -640,7 +640,7 @@
}
if (pdf->pdf_object)
{
- epdf_page_render (pdf->pdf_page, pdf->pdf_object);
+ epdf_page_render(pdf->pdf_page, pdf->pdf_object);
}
evas_object_show(pdf->pdf_object);
}
===================================================================
RCS file: /cvs/e/e17/proto/epdf/src/lib/etk_pdf.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- etk_pdf.h 22 May 2008 06:53:05 -0000 1.9
+++ etk_pdf.h 25 May 2008 13:49:17 -0000 1.10
@@ -87,24 +87,24 @@
void etk_pdf_page_set(Etk_Pdf *pdf, int page);
int etk_pdf_page_get(Etk_Pdf *pdf);
-void etk_pdf_size_get (Etk_Pdf *pdf, int *width, int *height);
+void etk_pdf_size_get(Etk_Pdf *pdf, int *width, int *height);
-void etk_pdf_orientation_set (Etk_Pdf *pdf,
Epdf_Page_Orientation o);
-Epdf_Page_Orientation etk_pdf_orientation_get (Etk_Pdf *pdf);
+void etk_pdf_orientation_set(Etk_Pdf *pdf,
Epdf_Page_Orientation o);
+Epdf_Page_Orientation etk_pdf_orientation_get(Etk_Pdf *pdf);
-void etk_pdf_scale_set (Etk_Pdf *pdf, double hscale, double
vscale);
-void etk_pdf_scale_get (Etk_Pdf *pdf, double *hscale, double
*vscale);
+void etk_pdf_scale_set(Etk_Pdf *pdf, double hscale, double
vscale);
+void etk_pdf_scale_get(Etk_Pdf *pdf, double *hscale, double
*vscale);
-void etk_pdf_page_next (Etk_Pdf *pdf);
-void etk_pdf_page_previous (Etk_Pdf *pdf);
+void etk_pdf_page_next(Etk_Pdf *pdf);
+void etk_pdf_page_previous(Etk_Pdf *pdf);
-void etk_pdf_search_text_set (Etk_Pdf *pdf, const char *text);
-void etk_pdf_search_is_case_sensitive (Etk_Pdf *pdf, int
is_case_sensitive);
-int etk_pdf_search_next (Etk_Pdf *pdf);
+void etk_pdf_search_text_set(Etk_Pdf *pdf, const char *text);
+void etk_pdf_search_is_case_sensitive(Etk_Pdf *pdf, int
is_case_sensitive);
+int etk_pdf_search_next(Etk_Pdf *pdf);
-Epdf_Document *etk_pdf_pdf_document_get (Etk_Pdf *pdf);
-Epdf_Page *etk_pdf_pdf_page_get (Etk_Pdf *pdf);
-Ecore_List *etk_pdf_pdf_index_get (Etk_Pdf *pdf);
+Epdf_Document *etk_pdf_pdf_document_get(Etk_Pdf *pdf);
+Epdf_Page *etk_pdf_pdf_page_get(Etk_Pdf *pdf);
+Ecore_List *etk_pdf_pdf_index_get(Etk_Pdf *pdf);
/**
* @}
===================================================================
RCS file: /cvs/e/e17/proto/epdf/src/lib/ewl_pdf.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- ewl_pdf.c 25 May 2008 06:52:12 -0000 1.19
+++ ewl_pdf.c 25 May 2008 13:49:17 -0000 1.20
@@ -163,7 +163,7 @@
pdf->pdf_page = epdf_page_new(pdf->pdf_document);
if (!pdf->pdf_page) {
- epdf_document_delete (pdf->pdf_document);
+ epdf_document_delete(pdf->pdf_document);
pdf->pdf_document = NULL;
DRETURN_INT(FALSE, DLEVEL_STABLE);
}
@@ -172,7 +172,7 @@
if (!pdf->pdf_index) {
epdf_page_delete(pdf->pdf_page);
pdf->pdf_page = NULL;
- epdf_document_delete (pdf->pdf_document);
+ epdf_document_delete(pdf->pdf_document);
pdf->pdf_document = NULL;
DRETURN_INT(FALSE, DLEVEL_STABLE);
}
@@ -561,7 +561,7 @@
if ((rect = (Epdf_Rectangle
*)ecore_list_next(pdf->search.list))) {
if (pdf->search.page != epdf_page_page_get(pdf->pdf_page)) {
ewl_pdf_page_set(pdf, pdf->search.page);
- ewl_callback_call(EWL_WIDGET (pdf),
EWL_CALLBACK_REVEAL);
+ ewl_callback_call(EWL_WIDGET(pdf),
EWL_CALLBACK_REVEAL);
}
evas_object_move(pdf->search.o,
CURRENT_X(EWL_WIDGET(pdf)) +
round(rect->x1 - 1),
@@ -652,6 +652,8 @@
{
Ewl_Pdf *pdf;
Ewl_Embed *emb;
+ double hscale;
+ double vscale;
int ww;
int hh;
int ow;
@@ -669,6 +671,9 @@
emb = ewl_embed_widget_find(w);
epdf_page_size_get(pdf->pdf_page, &ow, &oh);
+ epdf_page_scale_get(pdf->pdf_page, &hscale, &vscale);
+ ow = (int)(ow * hscale);
+ oh = (int)(oh * vscale);
ww = CURRENT_W(w);
hh = CURRENT_H(w);
@@ -680,8 +685,7 @@
dx = (CURRENT_W(w) - ww) / 2;
dy = (CURRENT_H(w) - hh) / 2;
- evas_object_image_fill_set(pdf->image, 0, 0,
- ow, oh);
+ evas_object_image_fill_set(pdf->image, 0, 0, ow, oh);
evas_object_move(pdf->image, CURRENT_X(w), CURRENT_Y(w));
evas_object_resize(pdf->image, ow, oh);
@@ -711,6 +715,8 @@
{
Ewl_Pdf *pdf;
Ewl_Embed *emb;
+ double hscale;
+ double vscale;
int ow;
int oh;
@@ -739,6 +745,9 @@
evas_object_show(pdf->image);
epdf_page_size_get(pdf->pdf_page, &ow, &oh);
+ epdf_page_scale_get(pdf->pdf_page, &hscale, &vscale);
+ ow = (int)(ow * hscale);
+ oh = (int)(oh * vscale);
ewl_object_preferred_inner_w_set(EWL_OBJECT(pdf), ow);
ewl_object_preferred_inner_h_set(EWL_OBJECT(pdf), oh);
===================================================================
RCS file: /cvs/e/e17/proto/epdf/src/lib/ewl_pdf.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- ewl_pdf.h 22 May 2008 06:53:05 -0000 1.12
+++ ewl_pdf.h 25 May 2008 13:49:17 -0000 1.13
@@ -95,24 +95,24 @@
void ewl_pdf_page_set(Ewl_Pdf *pdf, int page);
int ewl_pdf_page_get(Ewl_Pdf *pdf);
-void ewl_pdf_size_get (Ewl_Pdf *pdf, int *width, int *height);
+void ewl_pdf_size_get(Ewl_Pdf *pdf, int *width, int *height);
-void ewl_pdf_orientation_set (Ewl_Pdf *pdf,
Epdf_Page_Orientation o);
-Epdf_Page_Orientation ewl_pdf_orientation_get (Ewl_Pdf *pdf);
+void ewl_pdf_orientation_set(Ewl_Pdf *pdf,
Epdf_Page_Orientation o);
+Epdf_Page_Orientation ewl_pdf_orientation_get(Ewl_Pdf *pdf);
-void ewl_pdf_scale_set (Ewl_Pdf *pdf, double hscale, double
vscale);
-void ewl_pdf_scale_get (Ewl_Pdf *pdf, double *hscale, double
*vscale);
+void ewl_pdf_scale_set(Ewl_Pdf *pdf, double hscale, double
vscale);
+void ewl_pdf_scale_get(Ewl_Pdf *pdf, double *hscale, double
*vscale);
-void ewl_pdf_page_next (Ewl_Pdf *pdf);
-void ewl_pdf_page_previous (Ewl_Pdf *pdf);
+void ewl_pdf_page_next(Ewl_Pdf *pdf);
+void ewl_pdf_page_previous(Ewl_Pdf *pdf);
-void ewl_pdf_search_text_set (Ewl_Pdf *pdf, const char *text);
-void ewl_pdf_search_is_case_sensitive (Ewl_Pdf *pdf, int
is_case_sensitive);
-int ewl_pdf_search_next (Ewl_Pdf *pdf);
+void ewl_pdf_search_text_set(Ewl_Pdf *pdf, const char *text);
+void ewl_pdf_search_is_case_sensitive(Ewl_Pdf *pdf, int
is_case_sensitive);
+int ewl_pdf_search_next(Ewl_Pdf *pdf);
-Epdf_Document *ewl_pdf_pdf_document_get (Ewl_Pdf *pdf);
-Epdf_Page *ewl_pdf_pdf_page_get (Ewl_Pdf *pdf);
-Ecore_List *ewl_pdf_pdf_index_get (Ewl_Pdf *pdf);
+Epdf_Document *ewl_pdf_pdf_document_get(Ewl_Pdf *pdf);
+Epdf_Page *ewl_pdf_pdf_page_get(Ewl_Pdf *pdf);
+Ecore_List *ewl_pdf_pdf_index_get(Ewl_Pdf *pdf);
/*
* Internally used callbacks, override at your own risk.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs