Ejemplo n.º 1
0
void SCReGridFit(SplineChar *sc,int layer) {
    CharView *cv;

    for ( cv=(CharView *) (sc->views); cv!=NULL; cv=(CharView *) (cv->b.next) ) if ( cv->show_ft_results ) {
	if ( cv->show_ft_results && CVLayer((CharViewBase *) cv)==layer ) {
	    SplinePointListsFree(cv->b.gridfit); cv->b.gridfit = NULL;
	    FreeType_FreeRaster(cv->raster); cv->raster = NULL;
	    CVGridFitChar(cv);
	}
    }
}
Ejemplo n.º 2
0
static void QGMouse( QGData *qg, GEvent *e) {
    int l = qg->loff_top + e->u.mouse.y/qg->fh;
    struct navigate where;

    if ( (e->type == et_mousedown) && (e->u.mouse.button==1)) {
	memset(&where,0,sizeof(where));
	QG_FindLine(&qg->list,l,&where);
	if ( where.parent==NULL )
return;
	if ( where.offset==-1 ) {
	    where.parent->open = !where.parent->open;
	    QG_Remetric(qg);
	    GDrawRequestExpose(qg->v,NULL,false);
return;
	} else {
	    QuestionableGrid *q = &where.parent->first[where.offset];
	    CharView *cv;
	    if ( qg->inprocess )
return;
	    cv = qg->cv;
	    if ( cv==NULL && qg->fv!=NULL ) {
		qg->inprocess = true;
		cv = qg->cv = CharViewCreate(q->sc,(FontView *) (qg->fv),qg->fv->map->backmap[q->sc->orig_pos]);
		if ( qg->layer == ly_fore ) {
		    cv->b.drawmode = dm_fore;
		} else {
		    cv->b.layerheads[dm_back] = &qg->sc->layers[qg->layer];
		    cv->b.drawmode = dm_back;
		}
		cv->qg = qg;
		qg->inprocess = false;
	    } else if ( qg->cv==NULL )
return;
	    else if ( qg->cv->b.sc != q->sc ) {
		CVChangeSC(qg->cv,q->sc);
	    }
	    cv->ft_pointsizex = cv->ft_pointsizey = q->size;
	    cv->ft_ppemy = cv->ft_ppemx = rint(q->size*qg->dpi/72.0);
	    cv->ft_dpi = qg->dpi;
	    cv->ft_depth = qg->depth;
	    cv->note_x = q->x; cv->note_y = q->y;
	    cv->show_ft_results = true; cv->showgrids = true;
	    CVGridFitChar(cv);
	}
    }
}
Ejemplo n.º 3
0
static int FtPpem_OK(GGadget *g, GEvent *e) {
    if ( e->type==et_controlevent && e->u.control.subtype == et_buttonactivate ) {
	FtSizeData *fsd = GDrawGetUserData(GGadgetGetWindow(g));
	int _dpi, _depth;
	real ptsize, ptsizex;
	int err = 0;
	CharView *cv = fsd->cv;

	ptsize = GetReal8(fsd->gw,CID_PointSize,_("Pointsize Y"),&err);
	if ( GGadgetIsChecked(GWidgetGetControl(fsd->gw,CID_SameAs)) )
	    ptsizex = ptsize;
	else
	    ptsizex = GetReal8(fsd->gw,CID_PointSizeX,_("Pointsize X"),&err);
	_dpi = GetInt8(fsd->gw,CID_DPI,_("DPI"),&err);
	_depth = GGadgetIsChecked(GWidgetGetControl(fsd->gw,CID_BW)) ? 1 : 8;
	if ( err )
return(true);

	last_fpgm = GGadgetIsChecked(GWidgetGetControl(fsd->gw,CID_Debugfpgm));
	cv->ft_pointsizey = ptsize; cv->ft_dpi = _dpi; cv->ft_depth = _depth;
	cv->ft_pointsizex = ptsizex;
	cv->ft_ppemy = rint(cv->ft_pointsizey*cv->ft_dpi/72.0);
	cv->ft_ppemx = rint(cv->ft_pointsizex*cv->ft_dpi/72.0);

	gridfit_dpi = _dpi; gridfit_pointsizey = ptsize; gridfit_depth = _depth;
	gridfit_pointsizex = ptsizex; gridfit_x_sameas_y = GGadgetIsChecked(GWidgetGetControl(fsd->gw,CID_SameAs));
	SavePrefs(true);

	SplinePointListsFree(cv->b.gridfit); cv->b.gridfit = NULL;
	FreeType_FreeRaster(cv->raster); cv->raster = NULL;

	if ( fsd->debug )
	    CVDebugReInit(cv,true,last_fpgm);
	else {
	    cv->show_ft_results = true;
	    CVGridFitChar(cv);
	}
	CVLayersSet(cv);
	fsd->done = true;
	SCRefreshTitles(cv->b.sc);
    }
return( true );
}
Ejemplo n.º 4
0
void CVGridHandlePossibleFitChar(CharView *cv)
{
    if( cv->show_ft_results_live_update )
	CVGridFitChar(cv);
}