Controller Struct Reference

#include <controller.h>

Collaboration diagram for Controller:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Controller ()
int getTimeStamp ()
int getHighTimeStamp ()
void validateSettings ()
double calZoom (const int page)

Public Attributes

CPDFAppapp
CPDFCorecore
CPDFViewview
PageList pageList
TodoList todoList
GtkMgr gtkMgr
CSettings settings
CRenderThread thread
ThreadParam param
CChannels channels
int updateReq
CScribbleMgr scbMgr

Private Member Functions

void initTimeStamp ()

Private Attributes

struct timeval startStamp
struct timeval now


Detailed Description

Definition at line 53 of file controller.h.


Constructor & Destructor Documentation

Controller::Controller (  )  [inline]

Definition at line 77 of file controller.h.

00078     {
00079         core = NULL; view = NULL; app = NULL;
00080         param.bQuit = gFalse;
00081         param.pageList = &pageList;
00082         param.todoList = &todoList;
00083         param.ctrl = this;
00084         updateReq = 0;
00085         initTimeStamp();
00086     }

Here is the call graph for this function:


Member Function Documentation

void Controller::initTimeStamp (  )  [inline, private]

Definition at line 58 of file controller.h.

00059     {
00060         gettimeofday(&startStamp, NULL);
00061     }

int Controller::getTimeStamp (  )  [inline]

Definition at line 88 of file controller.h.

00089     {
00090         gettimeofday(&now, NULL);
00091         return (now.tv_sec - startStamp.tv_sec);
00092     }        

int Controller::getHighTimeStamp (  )  [inline]

Definition at line 94 of file controller.h.

00095     {
00096         gettimeofday(&now, NULL);
00097         return (now.tv_sec - startStamp.tv_sec) * 1000000 +
00098                 (now.tv_usec - startStamp.tv_usec);
00099     }

void Controller::validateSettings (  ) 

Definition at line 23 of file controller.cpp.

00024 {
00025     // validate
00026     PDFDoc * pdfdoc = core->getPDFDoc();    
00027     if (settings.getCurrentPage() <= 0 ||
00028         settings.getCurrentPage() > pdfdoc->getNumPages())
00029     {
00030         settings.setCurrentPage(1);
00031     }        
00032 
00033     if ((settings.getZoom() > ZoomMax  ||
00034         settings.getZoom() < ZoomMin ) &&
00035         settings.getZoom() != ZoomWidth)
00036     {
00037         settings.setZoom(ZoomPage);
00038     }        
00039 
00040     if (settings.getRotate() != 0 &&
00041         settings.getRotate() != 90 &&
00042         settings.getRotate() != 180 &&
00043         settings.getRotate() != 270)
00044     {
00045         settings.setRotate(0);
00046     }        
00047 
00048     if (settings.getRotate() == 180)
00049     {
00050         settings.setRotate(0);
00051     }
00052     else if (settings.getRotate() == 90)
00053     {
00054         settings.setRotate(270);
00055     }
00056 
00057     PV_LOGPRINTF("Current page %d zoom factor %lf rotate %d x %d y %d mode %d\n", 
00058         settings.getCurrentPage(), 
00059         settings.getZoom(), 
00060         settings.getRotate(),         
00061         settings.getScreenX(),
00062         settings.getScreenY(),
00063         settings.getMode());
00064 }

Here is the call graph for this function:

double Controller::calZoom ( const int  page  ) 

Definition at line 66 of file controller.cpp.

00067 {
00068     if (page < 1 ||
00069         page > core->getNumPages())
00070     {
00071         return DefZoom;
00072     }
00073 
00074     if (settings.getZoom() > 0)
00075     {
00076         return core->verifyZoomMax(settings.getZoom(), page);
00077     }
00078 
00079     int rot = core->getPageRotate(page);
00080     rot += settings.getRotate();
00081     if (rot >= 360) rot -= 360;
00082     else if (rot < 0) rot += 360;
00083     double uw = core->getPageWidth(page);
00084     double uh = core->getPageHeight(page);
00085     double ut;
00086     if (rot == 90 || rot == 270)
00087     {
00088         ut = uw; uw = uh; uh = ut;
00089     }
00090     if (ZoomPage == settings.getZoom())
00091     {
00092         uw = settings.getScreenWidth() / uw;
00093         uh = settings.getScreenHeight() / uh;
00094         return  (uw < uh) ? (uw * 100) : (uh * 100);
00095     }
00096     else if (ZoomWidth == settings.getZoom())
00097     {
00098         if (settings.getRotate() == 0 || 
00099             settings.getRotate() == 180)
00100         {   
00101             return (100 * settings.getScreenWidth() / uw);
00102         }
00103         else if (settings.getRotate() == 90 || 
00104             settings.getRotate() == 270)            
00105         {
00106             return (100 * settings.getScreenHeight() / uh);
00107         }
00108     }
00109     return DefZoom;
00110 }

Here is the call graph for this function:


Member Data Documentation

struct timeval Controller::startStamp [read, private]

Definition at line 56 of file controller.h.

struct timeval Controller::now [read, private]

Definition at line 57 of file controller.h.

Definition at line 63 of file controller.h.

Definition at line 64 of file controller.h.

Definition at line 65 of file controller.h.

Definition at line 66 of file controller.h.

Definition at line 67 of file controller.h.

Definition at line 68 of file controller.h.

Definition at line 69 of file controller.h.

Definition at line 70 of file controller.h.

Definition at line 71 of file controller.h.

Definition at line 72 of file controller.h.

Definition at line 73 of file controller.h.

Definition at line 75 of file controller.h.


The documentation for this struct was generated from the following files:

Generated on Wed Feb 4 18:26:10 2009 by  doxygen 1.5.6