예제 #1
0
int BKPDF::setRotation(int z, bool bForce) {
	if (z == ctx->rotateLevel)
		return 0;
	int n = 4;
	ctx->rotateLevel = z;

	if (ctx->rotateLevel < 0)
		ctx->rotateLevel = 3;
	if (ctx->rotateLevel >= n)
		ctx->rotateLevel = 0;

	ctx->rotate = rotateLevels[ctx->rotateLevel];
	float nx = float(panX);
	float ny = float(panY);
	clipCoords(nx, ny);
	panX = int(nx);
	panY = int(ny);
	char t[256];
	snprintf(t, 256, "Rotate to %3.3g°", ctx->rotate);
	setBanner(t);

	if (BKUser::options.pdfFastScroll) {
		//pdfRenderFullPage(ctx);
		loadNewPage = true;
		return BK_CMD_MARK_DIRTY;
	}
	redrawBuffer();
	return BK_CMD_MARK_DIRTY;
}
예제 #2
0
int BKPDF::setZoomLevel(int z) {
	if (z == ctx->zoomLevel)
		return 0;
	int n = sizeof(zoomLevels)/sizeof(float);
	ctx->zoomLevel = z;

	if (ctx->zoomLevel < 0)
		ctx->zoomLevel = 0;
	if (ctx->zoomLevel >= n)
		ctx->zoomLevel = n - 1;
	if (BKUser::options.pdfFastScroll && ctx->zoomLevel > 14) {
		ctx->zoomLevel = 14;
		ctx->zoom = 2.0f;
	}

	ctx->zoom = zoomLevels[ctx->zoomLevel];
	float nx = float(panX)*ctx->zoom;
	float ny = float(panY)*ctx->zoom;
	clipCoords(nx, ny);
	panX = int(nx);
	panY = int(ny);
	char t[256];
	snprintf(t, 256, "Zoom %2.3gx", ctx->zoom);
	setBanner(t);
	if (BKUser::options.pdfFastScroll) {
		loadNewPage = true;
		return BK_CMD_MARK_DIRTY;
	}
	redrawBuffer();
	return BK_CMD_MARK_DIRTY;
}
예제 #3
0
MergeCategoriesWizard::MergeCategoriesWizard(QWidget* parent): SimonWizard(parent)
{
  setWindowTitle(i18n("Merge Categories"));
  addPage(createSelectCategoriesPage());
  addPage(createWorkingPage());
  addPage(createFinishedPage());
  setBanner("merge");
}
예제 #4
0
TrainingsWizard::TrainingsWizard(QWidget *parent) : SimonWizard(parent)
{
  addPage(createIntroPage());

  if (SoundServer::getCalibrateVolume())
    addPage(createVolumePage());

  setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
  setBanner("training");
}
예제 #5
0
FirstRunWizard::FirstRunWizard(QWidget* parent, Qt::WFlags flags)
: SimonWizard(parent, flags)
{
  addPage(createIntroPage());
  addPage(createScenariosConfigPage());
  addPage(createBaseModelConfigPage());
  addPage(createSimondConfigPage());
  addPage(createSoundConfigPage());
  addPage(createSoundVolumePage());
  setBanner("firstrun");
}
예제 #6
0
int BKPDF::updateContent() {
	if (lastScrollFlag != BKUser::options.pdfFastScroll)
		return BK_CMD_RELOAD;

	if (loadNewPage) {
		pageError = pdfLoadPage(ctx) != 0;
		redrawBuffer();
		loadNewPage = false;
		char t[256];
		snprintf(t, 256, "Page %d of %d", ctx->pageno, pdf_getpagecount(ctx->pages));
		setBanner(t);
		return BK_CMD_MARK_DIRTY;
	}

	/*bannerFrames--;
	if (bannerFrames < 0)
		bannerFrames = 0;*/

	/*
	if (loadNewPage) {
		if (FZScreen::wasSuspended()) {
			FZScreen::clearSuspended();
			PDFContext* oldctx = ctx;
			ctx = pdfOpen((char*)path.c_str());
			if (ctx == 0) {
				// f****d... just implement *proper* error handling some day ok???
				return 0;
			}
			ctx->pageno = oldctx->pageno;
			ctx->zoom = oldctx->zoom;
			ctx->zoomLevel = oldctx->zoomLevel;
			ctx->rotate = oldctx->rotate;
			// remove this if it crashes on resume, but it will leak a ton of ram
			// need*pooled*malloc*NOW
			//pdfClose(oldctx);
			delete oldctx;
		}
		pageError = pdfLoadPage(ctx) != 0;
		redrawBuffer();
		loadNewPage = false;
		char t[256];
		snprintf(t, 256, "Page %d of %d", ctx->pageno, pdf_getpagecount(ctx->pages));
		banner = t;
		bannerFrames = 60;
		return BK_CMD_MARK_DIRTY;
	}
	*/
	return 0;
}
예제 #7
0
int BKPDF::setCurrentPage(int position) {
	int oldPage = ctx->pageno;
	ctx->pageno = position;
	if (ctx->pageno < 1)
		ctx->pageno = 1;
	if (ctx->pageno > pdf_getpagecount(ctx->pages))
		ctx->pageno = pdf_getpagecount(ctx->pages);
	if (ctx->pageno != oldPage) {
		loadNewPage = true;
		char t[256];
		snprintf(t, 256, "Loading page %d", ctx->pageno);
		setBanner(t);
		panY = 0;
		return BK_CMD_MARK_DIRTY;
	}
	return 0;
}
예제 #8
0
int BKPDF::setZoomToFitHeight() {
	float nh = fabs(screenMediaBox.y1 - screenMediaBox.y0)/ctx->zoom;		// height at 1.0 zoom
	if (nh == 0.0f)
		nh = 1.0f;
	ctx->zoom = 272.0f/nh;
	float nx = float(panX)*ctx->zoom;
	float ny = float(panY)*ctx->zoom;
	clipCoords(nx, ny);
	panX = int(nx);
	panY = int(ny);
	char t[256];
	snprintf(t, 256, "Zoom %2.3gx", ctx->zoom);
	setBanner(t);
	if (BKUser::options.pdfFastScroll) {
		loadNewPage = true;
		return BK_CMD_MARK_DIRTY;
	}
	redrawBuffer();
	return BK_CMD_MARK_DIRTY;
}