pageBar/src/gtkPagebar.h File Reference

#include <gtk/gtk.h>
#include <gdk/gdk.h>

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _GtkPagebar
struct  _GtkPagebarClass

Defines

#define GTK_PAGEBAR_TYPE   (gtk_pagebar_get_type ())
#define GTK_PAGEBAR(obj)   (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_PAGEBAR_TYPE, GtkPagebar))
#define GTK_PAGEBAR_CLASS(klass)   (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_PAGEBAR_TYPE, GtkPagebarClass))
#define IS_GTK_PAGEBAR(obj)   (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_PAGEBAR_TYPE))
#define IS_GTK_PAGEBAR_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_PAGEBAR_TYPE))
#define USE_BITMAPS
#define PAGEBAR_DEFAULT_PAGECOUNT   1
#define PAGEBAR_DEFAULT_CURRENTPAGE   1
#define PAGEBAR_DEFAULT_CURRENTPAGEOFFSET   100
#define PAGEBAR_DEFAULT_ZOOMMODE   0
#define PAGEBAR_DEFAULT_ORIENTATION   0
#define PAGEBAR_DEFAULT_DRAWAREAHEIGHT   50
#define PAGEBAR_DEFAULT_DRAWAREAXPOS   0
#define PAGEBAR_DEFAULT_DRAWAREAYPOS   SCREEN_HEIGHT-PAGEBAR_DEFAULT_DRAWAREAHEIGHT
#define PAGEBAR_DEFAULT_DRAWAREAWIDTH   SCREEN_WIDTH
#define PAGEBAR_DEFAULT_BARXPOS   9
#define PAGEBAR_DEFAULT_BARYPOS   0
#define PAGEBAR_DEFAULT_BARWIDTH   SCREEN_WIDTH-18
#define PAGEBAR_DEFAULT_BARHEIGHT   42
#define PAGEBAR_DEFAULT_CPIHEIGHT   42
#define PAGEBAR_DEFAULT_CPIWIDTH   59
#define PAGEBAR_DEFAULT_BARFONTTYPE   0
#define PAGEBAR_DEFAULT_BARFONTHEIGHT   8
#define PAGEBAR_DEFAULT_CPIFONTTYPE   0
#define PAGEBAR_DEFAULT_CPIFONTHEIGHT   8
#define PAGEBAR_DEFAULT_PAGEOFFSETXOFFSET   6
#define PAGEBAR_DEFAULT_PAGEOFFSETYOFFSET   34
#define PAGEBAR_DEFAULT_PAGEOFFSETWIDTH   47
#define PAGEBAR_DEFAULT_PAGEOFFSETHEIGHT   3
#define PAGEBAR_DEFAULT_BOOKMARKCOUNT   0
#define PAGEBAR_DEFAULT_BOOKMARKMAXVALUE   PAGEBAR_DEFAULT_PAGECOUNT
#define PAGEBAR_DEFAULT_NOTECOUNT   0
#define PAGEBAR_DEFAULT_NOTESMAXVALUE   PAGEBAR_DEFAULT_PAGECOUNT
#define PAGEBAR_DEFAULT_PAGEFIELDWIDTH   36
#define PAGEBAR_DEFAULT_PAGEFIELDHEIGHT   19
#define PAGEBAR_DEFAULT_SCROLLBUTTONWIDTH   18
#define PAGEBAR_DEFAULT_SCROLLBUTTONHEIGHT   19
#define PAGEBAR_DEFAULT_SHOW   1
#define PAGEBAR_TIMER_NONE   0
#define PAGEBAR_TIMER_PROGRESS   1
#define PAGEBAR_CPI_EXTRA_WIDTH   8

Typedefs

typedef struct _GtkPagebar GtkPagebar
typedef struct _GtkPagebarClass GtkPagebarClass

Enumerations

enum  _icons {
  bitmap_CPI = 0, bitmap_CPIExpand, bitmap_CPICollapse, bitmap_PageField,
  bitmap_ScrollLeft, bitmap_ScrollRight, bitmap_Bookmark, bitmap_Note,
  bitmap_count
}

Functions

GtkWidget * gtk_pagebar_new ()
GType gtk_pagebar_get_type (void)
int gtk_pagebar_draw (GtkPagebar *pagebar)
void gtk_pagebar_selectpage (GtkPagebar *pageBar, int page)
int gtk_pagebar_get_pagecount (GtkPagebar *pageBar)
int gtk_pagebar_get_selected_pagenumber (GtkPagebar *pageBar)
void gtk_pagebar_startProgressTimer (GtkPagebar *pageBar)
void gtk_pagebar_stopTimer (GtkPagebar *pageBar)
int addBookmark (GtkPagebar *pagebar, int value)
int removeBookmark (GtkPagebar *pagebar, int value)
int addNote (GtkPagebar *pagebar, int value)
int removeNote (GtkPagebar *pagebar, int value)
int pagebar_reset_values (GtkPagebar *pagebar)
void pagebar_reportSync (GtkPagebar *pagebar)


Define Documentation

#define GTK_PAGEBAR ( obj   )     (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_PAGEBAR_TYPE, GtkPagebar))

Definition at line 34 of file gtkPagebar.h.

#define GTK_PAGEBAR_CLASS ( klass   )     (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_PAGEBAR_TYPE, GtkPagebarClass))

Definition at line 35 of file gtkPagebar.h.

#define GTK_PAGEBAR_TYPE   (gtk_pagebar_get_type ())

Copyright (C) 2005-2008 iRex Technologies B.V. All rights reserved.

Definition at line 33 of file gtkPagebar.h.

#define IS_GTK_PAGEBAR ( obj   )     (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_PAGEBAR_TYPE))

Definition at line 36 of file gtkPagebar.h.

#define IS_GTK_PAGEBAR_CLASS ( klass   )     (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_PAGEBAR_TYPE))

Definition at line 37 of file gtkPagebar.h.

#define PAGEBAR_CPI_EXTRA_WIDTH   8

Definition at line 80 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_BARFONTHEIGHT   8

Definition at line 58 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_BARFONTTYPE   0

Definition at line 57 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_BARHEIGHT   42

Definition at line 54 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_BARWIDTH   SCREEN_WIDTH-18

Definition at line 53 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_BARXPOS   9

Definition at line 51 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_BARYPOS   0

Definition at line 52 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_BOOKMARKCOUNT   0

Definition at line 65 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_BOOKMARKMAXVALUE   PAGEBAR_DEFAULT_PAGECOUNT

Definition at line 66 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_CPIFONTHEIGHT   8

Definition at line 60 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_CPIFONTTYPE   0

Definition at line 59 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_CPIHEIGHT   42

Definition at line 55 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_CPIWIDTH   59

Definition at line 56 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_CURRENTPAGE   1

Definition at line 43 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_CURRENTPAGEOFFSET   100

Definition at line 44 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_DRAWAREAHEIGHT   50

Definition at line 47 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_DRAWAREAWIDTH   SCREEN_WIDTH

Definition at line 50 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_DRAWAREAXPOS   0

Definition at line 48 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_DRAWAREAYPOS   SCREEN_HEIGHT-PAGEBAR_DEFAULT_DRAWAREAHEIGHT

Definition at line 49 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_NOTECOUNT   0

Definition at line 67 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_NOTESMAXVALUE   PAGEBAR_DEFAULT_PAGECOUNT

Definition at line 68 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_ORIENTATION   0

Definition at line 46 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_PAGECOUNT   1

Definition at line 42 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_PAGEFIELDHEIGHT   19

Definition at line 70 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_PAGEFIELDWIDTH   36

Definition at line 69 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_PAGEOFFSETHEIGHT   3

Definition at line 64 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_PAGEOFFSETWIDTH   47

Definition at line 63 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_PAGEOFFSETXOFFSET   6

Definition at line 61 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_PAGEOFFSETYOFFSET   34

Definition at line 62 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_SCROLLBUTTONHEIGHT   19

Definition at line 72 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_SCROLLBUTTONWIDTH   18

Definition at line 71 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_SHOW   1

Definition at line 73 of file gtkPagebar.h.

#define PAGEBAR_DEFAULT_ZOOMMODE   0

Definition at line 45 of file gtkPagebar.h.

#define PAGEBAR_TIMER_NONE   0

Definition at line 75 of file gtkPagebar.h.

#define PAGEBAR_TIMER_PROGRESS   1

Definition at line 76 of file gtkPagebar.h.

#define USE_BITMAPS

Definition at line 39 of file gtkPagebar.h.


Typedef Documentation

typedef struct _GtkPagebar GtkPagebar

Definition at line 83 of file gtkPagebar.h.

Definition at line 84 of file gtkPagebar.h.


Enumeration Type Documentation

enum _icons

Enumerator:
bitmap_CPI 
bitmap_CPIExpand 
bitmap_CPICollapse 
bitmap_PageField 
bitmap_ScrollLeft 
bitmap_ScrollRight 
bitmap_Bookmark 
bitmap_Note 
bitmap_count 

Definition at line 86 of file gtkPagebar.h.

00086             {
00087     bitmap_CPI=0,
00088     bitmap_CPIExpand,
00089     bitmap_CPICollapse,
00090     bitmap_PageField,
00091     bitmap_ScrollLeft,
00092     bitmap_ScrollRight,
00093     bitmap_Bookmark,
00094     bitmap_Note,
00095     bitmap_count
00096 };


Function Documentation

int addBookmark ( GtkPagebar pagebar,
int  value 
)

Definition at line 204 of file gtkPagebar.c.

00204                                                 {
00205     return addToList(&pagebar->bookmarks, &pagebar->bookmarkCount, value);
00206 }

Here is the call graph for this function:

int addNote ( GtkPagebar pagebar,
int  value 
)

Definition at line 208 of file gtkPagebar.c.

00208                                             {
00209     return addToList(&pagebar->notes, &pagebar->noteCount, value);
00210 }

Here is the call graph for this function:

int gtk_pagebar_draw ( GtkPagebar pagebar  ) 

Definition at line 791 of file gtkPagebar.c.

00792 {
00793     int ret = 0;
00794 
00795     ENTER(1);
00796     
00797 
00798     if (!IS_GTK_PAGEBAR(pagebar)) {
00799         RETURN(-1);
00800     }
00801     
00802   
00803     if (!pagebar->pixmap) 
00804         RETURN(-1);
00805 
00806     /* If the user moved the window, we first have to do that */
00807     if (pagebar->lastDrawAreaXPos!=pagebar->drawAreaXPos || pagebar->lastDrawAreaYPos!=pagebar->drawAreaYPos) {
00808         pagebar->lastDrawAreaXPos=pagebar->drawAreaXPos;
00809         pagebar->lastDrawAreaYPos=pagebar->drawAreaYPos;
00810         gtk_window_move(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(pagebar))), pagebar->drawAreaXPos, pagebar->drawAreaYPos);
00811     }
00812 
00813     /* If the user resized the window, we first have to do that */
00814     if (pagebar->lastDrawAreaWidth!=pagebar->drawAreaWidth || pagebar->lastDrawAreaHeight!=pagebar->drawAreaHeight) {
00815         pagebar->lastDrawAreaWidth=pagebar->drawAreaWidth;
00816         pagebar->lastDrawAreaHeight=pagebar->drawAreaHeight;
00817         gtk_widget_set_size_request(GTK_WIDGET(gtk_widget_get_toplevel(GTK_WIDGET(pagebar))), pagebar->drawAreaWidth, pagebar->drawAreaHeight);
00818     }
00819 
00820     // clear the area
00821     gdk_draw_rectangle (pagebar->pixmap,
00822         GTK_WIDGET(pagebar->drawingArea)->style->white_gc, 
00823         TRUE, 
00824         pagebar->barXPos, 
00825         pagebar->barYPos, 
00826         pagebar->barWidth, 
00827         pagebar->barHeight);
00828 
00829     if (!pagebar->show)
00830         RETURN(-1);
00831 
00832     // calculate
00833     pagebar_calculate(pagebar);
00834 
00835     // draw cpi 
00836     pagebar_draw_cpi(pagebar);
00837 
00838     if (pagebar->pagecount==1)
00839         RETURN(0);
00840 
00841     // draw the others
00842     pagebar_draw_left(pagebar);
00843     pagebar_draw_right(pagebar);
00844 end:
00845     // make things appear on the screen 
00846     gtk_widget_queue_draw(GTK_WIDGET(pagebar->drawingArea));
00847     PRINT_TRACE(("gtk_widget_queue_draw_area called \n"));
00848 
00849     LEAVE(1);
00850 
00851     return ret; 
00852 }

Here is the call graph for this function:

int gtk_pagebar_get_pagecount ( GtkPagebar pageBar  ) 

int gtk_pagebar_get_selected_pagenumber ( GtkPagebar pageBar  ) 

GType gtk_pagebar_get_type ( void   ) 

Definition at line 610 of file gtkPagebar.c.

00611 {
00612     static GType pagebar_type = 0;
00613 
00614     if (!pagebar_type)
00615     {
00616         static const GTypeInfo pagebar_info =
00617         {
00618             sizeof (GtkPagebarClass),
00619             NULL, /* base_init */
00620             NULL, /* base_finalize */
00621             (GClassInitFunc) gtk_pagebar_class_init,
00622             NULL, /* class_finalize */
00623             NULL, /* class_data */
00624             sizeof (GtkPagebar),
00625             0,    /* n_preallocs */
00626             (GInstanceInitFunc) gtk_pagebar_init,
00627         };
00628 
00629         pagebar_type = g_type_register_static (GTK_TYPE_EVENT_BOX, "Pagebar", &pagebar_info, 0);  
00630     }
00631 
00632     return pagebar_type;
00633 }

Here is the call graph for this function:

GtkWidget* gtk_pagebar_new (  ) 

Definition at line 693 of file gtkPagebar.c.

00694 {
00695     GtkPagebar* pagebar;
00696     PangoFontDescription* fontdesc;
00697 
00698     ENTER(0);
00699 
00700     pagebar = (GtkPagebar*) g_object_new(GTK_PAGEBAR_TYPE,NULL);
00701 
00702     memset(pagebar->bitmaps, 0, sizeof(pagebar->bitmaps));
00703     pagebar->bookmarks = NULL;
00704     pagebar->notes = NULL;
00705 
00706     // init data fields
00707     pagebar_reset_values(pagebar);
00708     pagebar_load_bitmaps(pagebar);
00709 
00710     framebuffer_device = open("/dev/fb0", O_RDWR);    
00711 
00712     PRINT_DEBUG(("bar format %dx%d\n",pagebar->drawAreaWidth,pagebar->drawAreaHeight));
00713 
00714     gtk_drawing_area_size(GTK_DRAWING_AREA(pagebar->drawingArea),pagebar->drawAreaWidth,pagebar->drawAreaHeight);
00715 
00716     pagebar->pangolayout=gtk_widget_create_pango_layout(GTK_WIDGET(pagebar->drawingArea),"X");
00717     fontdesc = pango_font_description_from_string("Bitstream Vera 6.5");
00718 //    pango_font_description_set_size(fontdesc, PAGEBAR_DEFAULT_CPIFONTHEIGHT);
00719     pango_layout_set_font_description(pagebar->pangolayout, fontdesc);
00720     pango_font_description_free(fontdesc);
00721     pango_layout_get_pixel_size(pagebar->pangolayout,&pagebar->barFontWidth,&pagebar->barFontHeight);
00722 
00723     pagebar->cpiFontWidth = pagebar->barFontWidth;
00724 
00725     PRINT_DEBUG(("text format %dx%d\n",pagebar->barFontWidth,pagebar->barFontHeight));
00726 
00727     //gtk_widget_show(pagebar->drawingArea);
00728 
00729     LEAVE(0);
00730 
00731     return GTK_WIDGET(pagebar);
00732 }

Here is the call graph for this function:

void gtk_pagebar_selectpage ( GtkPagebar pageBar,
int  page 
)

void gtk_pagebar_startProgressTimer ( GtkPagebar pageBar  ) 

void gtk_pagebar_stopTimer ( GtkPagebar pageBar  ) 

void pagebar_reportSync ( GtkPagebar pagebar  ) 

Definition at line 1216 of file gtkPagebar.c.

01217 {
01218     gtk_idle_add(on_idle, (gpointer) pagebar);
01219 }

Here is the call graph for this function:

int pagebar_reset_values ( GtkPagebar pagebar  ) 

Definition at line 220 of file gtkPagebar.c.

00220                                               {
00221     ENTER(0);
00222 
00223     pagebar->pagecount = PAGEBAR_DEFAULT_PAGECOUNT;
00224     pagebar->currentPage = PAGEBAR_DEFAULT_CURRENTPAGE;
00225     pagebar->currentPageOffset = PAGEBAR_DEFAULT_CURRENTPAGEOFFSET;
00226     pagebar->zoomMode = PAGEBAR_DEFAULT_ZOOMMODE;
00227     pagebar->orientation = PAGEBAR_DEFAULT_ORIENTATION;
00228     pagebar->drawAreaXPos = PAGEBAR_DEFAULT_DRAWAREAXPOS;
00229     pagebar->drawAreaYPos = PAGEBAR_DEFAULT_DRAWAREAYPOS;
00230     pagebar->drawAreaWidth = PAGEBAR_DEFAULT_DRAWAREAWIDTH;
00231     pagebar->drawAreaHeight = PAGEBAR_DEFAULT_DRAWAREAHEIGHT;
00232     pagebar->barXPos = PAGEBAR_DEFAULT_BARXPOS;
00233     pagebar->barYPos = PAGEBAR_DEFAULT_BARYPOS;
00234     pagebar->barWidth = PAGEBAR_DEFAULT_BARWIDTH;
00235     pagebar->barHeight = PAGEBAR_DEFAULT_BARHEIGHT;
00236     pagebar->cpiHeight = PAGEBAR_DEFAULT_CPIHEIGHT;
00237     pagebar->cpiWidth = PAGEBAR_DEFAULT_CPIWIDTH;
00238     pagebar->barFontType = PAGEBAR_DEFAULT_BARFONTTYPE;
00239     pagebar->barFontHeight = PAGEBAR_DEFAULT_BARFONTHEIGHT;
00240     pagebar->cpiFontType = PAGEBAR_DEFAULT_CPIFONTTYPE;
00241     pagebar->cpiFontHeight = PAGEBAR_DEFAULT_CPIFONTHEIGHT;
00242     pagebar->pageFieldWidth = PAGEBAR_DEFAULT_PAGEFIELDWIDTH;
00243     pagebar->pageFieldHeight = PAGEBAR_DEFAULT_PAGEFIELDHEIGHT;
00244     pagebar->pageOffsetWidth = PAGEBAR_DEFAULT_PAGEOFFSETWIDTH;
00245     pagebar->pageOffsetHeight = PAGEBAR_DEFAULT_PAGEOFFSETHEIGHT;
00246     pagebar->pageOffsetXOffset = PAGEBAR_DEFAULT_PAGEOFFSETXOFFSET;
00247     pagebar->pageOffsetYOffset = PAGEBAR_DEFAULT_PAGEOFFSETYOFFSET;
00248     pagebar->bookmarkCount = PAGEBAR_DEFAULT_BOOKMARKCOUNT;
00249     pagebar->bookmarkMaxValue = PAGEBAR_DEFAULT_BOOKMARKMAXVALUE;
00250     pagebar->noteCount = PAGEBAR_DEFAULT_NOTECOUNT;
00251     pagebar->notesMaxValue = PAGEBAR_DEFAULT_NOTESMAXVALUE;
00252     pagebar->scrollButtonWidth = PAGEBAR_DEFAULT_SCROLLBUTTONWIDTH;
00253     pagebar->show = PAGEBAR_DEFAULT_SHOW;
00254     if (PAGEBAR_TIMER_PROGRESS  != pagebar->currentTimer)
00255         pagebar->currentTimer = PAGEBAR_TIMER_NONE;
00256 
00257     pagebar->lastPage = -1;
00258     pagebar->lastDrawAreaXPos = pagebar->lastDrawAreaYPos = -1;
00259 
00260     if (pagebar->bookmarks)
00261         free(pagebar->bookmarks);
00262     if (pagebar->notes)
00263         free(pagebar->notes);
00264 
00265     pagebar->bookmarks = NULL;
00266     pagebar->notes = NULL;
00267 
00268     LEAVE(0);
00269     return 0;
00270 }

int removeBookmark ( GtkPagebar pagebar,
int  value 
)

Definition at line 212 of file gtkPagebar.c.

00212                                                    {
00213     return removeFromList(&pagebar->bookmarks, &pagebar->bookmarkCount, value);
00214 }

Here is the call graph for this function:

int removeNote ( GtkPagebar pagebar,
int  value 
)

Definition at line 216 of file gtkPagebar.c.

00216                                                {
00217     return removeFromList(&pagebar->notes, &pagebar->noteCount, value);
00218 }

Here is the call graph for this function:


Generated on Sun Dec 14 17:15:19 2008 by  doxygen 1.5.6