#include <controller.h>
Public Member Functions | |
Controller () | |
int | getTimeStamp () |
int | getHighTimeStamp () |
void | validateSettings () |
double | calZoom (const int page) |
Public Attributes | |
CPDFApp * | app |
CPDFCore * | core |
CPDFView * | view |
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 |
Definition at line 53 of file controller.h.
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 }
void Controller::initTimeStamp | ( | ) | [inline, private] |
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 }
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 }
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.