Example #1
0
BOOL CHistogram::Init32f(int numChannels, Ipp32f* ppLevels[4], Ipp32f* ppHist[4], int pnLevels[4])
{
   m_numChannels = numChannels;
   if (!SetMinMaxLevel(ppLevels, pnLevels)) return FALSE;
   AllocateVectors(ppLevels, pnLevels);
   ExpandVectors(ppLevels, ppHist, pnLevels);
   UpdateHist();
   ScaleLevels();
   ScaleHist();
   m_bInit = TRUE;
   return TRUE;
}
Example #2
0
void MainWindow::UpdateUI()
{

    //QMessageBox::information(this,tr("ui"),tr("ui"));
    if(!filearu)
    {
        //actions
        //file
        ui->save->setEnabled(false);
        ui->save_as->setEnabled(false);
        ui->close->setEnabled(false);
        //edit
        ui->undo->setEnabled(false);
        ui->redo->setEnabled(false);
        ui->origin->setEnabled(false);
        //filter
        ui->ancient->setEnabled(false);
        ui->crystal->setEnabled(false);
        ui->pencil->setEnabled(false);
        ui->gauss->setEnabled(false);
        ui->gray->setEnabled(false);
        ui->actionComics->setEnabled(false);
        ui->edge->setEnabled(false);
        //meirong
        ui->facelift->setEnabled(false);
        ui->whiten->setEnabled(false);
        //image
        ui->fanzhuan->setEnabled(false);
        ui->xuanzhuan->setEnabled(false);
        ui->counterclockwise->setEnabled(false);
        ui->horizontalflip->setEnabled(false);

        //buttons
        //hist
        ui->showred->setEnabled(false);
        ui->showblue->setEnabled(false);
        ui->showgreen->setEnabled(false);
        //editimg
        ui->pushButton->setEnabled(false);
        ui->pushButton_2->setEnabled(false);
        ui->hsBright->setEnabled(false);
        ui->hsContrast->setEnabled(false);
        ui->hsGamma->setEnabled(false);
        ui->hsHue->setEnabled(false);
        ui->hsSat->setEnabled(false);
        ui->dsbBright->setEnabled(false);
        ui->dsbContrast->setEnabled(false);
        ui->dsbGamma->setEnabled(false);
        ui->dsbHue->setEnabled(false);
        ui->dsbSat->setEnabled(false);
        this->setWindowTitle("丑图秀秀 - Xiuxiu");
    }
    else
    {

        this->setWindowTitle("丑图秀秀 - Xiuxiu( "+presentfile+" )");
        //actions
        //file
        ui->save->setEnabled(true);
        ui->save_as->setEnabled(true);
        ui->close->setEnabled(true);
        //edit
        ui->undo->setEnabled(true);
        ui->redo->setEnabled(true);
        ui->origin->setEnabled(true);
        //filter
        ui->ancient->setEnabled(true);
        ui->crystal->setEnabled(true);
        ui->pencil->setEnabled(true);
        ui->gauss->setEnabled(true);
        ui->gray->setEnabled(true);
        ui->actionComics->setEnabled(true);
        ui->edge->setEnabled(true);
        //meirong
        ui->facelift->setEnabled(true);
        ui->whiten->setEnabled(true);
        //image
        ui->fanzhuan->setEnabled(true);
        ui->xuanzhuan->setEnabled(true);
        ui->counterclockwise->setEnabled(true);
        ui->horizontalflip->setEnabled(true);

        //buttons
        //hist
        ui->showred->setEnabled(true);
        ui->showblue->setEnabled(true);
        ui->showgreen->setEnabled(true);
        //editimg
        ui->pushButton->setEnabled(true);
        ui->pushButton_2->setEnabled(true);
        ui->hsBright->setEnabled(true);
        ui->hsContrast->setEnabled(true);
        ui->hsGamma->setEnabled(true);
        ui->hsHue->setEnabled(true);
        ui->hsSat->setEnabled(true);
        ui->dsbBright->setEnabled(true);
        ui->dsbContrast->setEnabled(true);
        ui->dsbGamma->setEnabled(true);
        ui->dsbHue->setEnabled(true);
        ui->dsbSat->setEnabled(true);

        QPixmap pixscene;
        pixscene=QPixmap(QPixmap::fromImage(img.Deref()));
        //pixscene=QPixmap(":/resource/png/back.png");
        xDrawPixtoGView(pixscene,ui->graphicsView,xPERSPECTIVE);
        pmPresent=pixscene;
        UpdateHist();
    }
}
Example #3
0
main()
{
	char *ptr;

	/* Build commands table */
	
	/*
	sv_cmd_max = 0;	*** Already initialized to 0
	*/

#ifdef SX_ALIAS	
	sv_cmd_name[sv_cmd_max]="alias";    sv_cmd_fun[sv_cmd_max++]=AliasMain;
#endif
#ifdef SX_ASCII
	sv_cmd_name[sv_cmd_max]="ascii";    sv_cmd_fun[sv_cmd_max++]=AsciiMain;
#endif
#ifdef SX_BATCH
	sv_cmd_name[sv_cmd_max]="batch";    sv_cmd_fun[sv_cmd_max++]=BatchMain;
#endif
#ifdef SX_BUILTIN
	sv_cmd_name[sv_cmd_max]="builtin";  sv_cmd_fun[sv_cmd_max++]=BuiltinMain;
#endif
#ifdef SX_CAT
	sv_cmd_name[sv_cmd_max]="cat";      sv_cmd_fun[sv_cmd_max++]=CatMain;
#endif
#ifdef SX_CD
	sv_cmd_name[sv_cmd_max]="cd";       sv_cmd_fun[sv_cmd_max++]=CdMain;
#endif
#ifdef SX_CHMOD
	sv_cmd_name[sv_cmd_max]="chmod";    sv_cmd_fun[sv_cmd_max++]=ChmodMain;
#endif
#ifdef SX_CLEAR
	sv_cmd_name[sv_cmd_max]="clear";    sv_cmd_fun[sv_cmd_max++]=ClearMain;
#endif
#ifdef SX_CP
	sv_cmd_name[sv_cmd_max]="cp";       sv_cmd_fun[sv_cmd_max++]=CpMain;
#endif
#ifdef SX_CPM
	sv_cmd_name[sv_cmd_max]="cpm";      sv_cmd_fun[sv_cmd_max++]=CpmMain;
#endif
#ifdef SX_DF
	sv_cmd_name[sv_cmd_max]="df";       sv_cmd_fun[sv_cmd_max++]=DfMain;
#endif
#ifdef SX_DIRALIAS
	sv_cmd_name[sv_cmd_max]="diralias"; sv_cmd_fun[sv_cmd_max++]=DiralMain;
#endif
#ifdef SX_DATE
	sv_cmd_name[sv_cmd_max]="date";     sv_cmd_fun[sv_cmd_max++]=DateMain;
#endif
#ifdef SX_DUMP
	sv_cmd_name[sv_cmd_max]="dump";     sv_cmd_fun[sv_cmd_max++]=DumpMain;
#endif
#ifdef SX_ECHO
	sv_cmd_name[sv_cmd_max]="echo";     sv_cmd_fun[sv_cmd_max++]=EchoMain;
#endif
#ifdef SX_ED
	sv_cmd_name[sv_cmd_max]="ed";       sv_cmd_fun[sv_cmd_max++]=EdMain;
#endif
#ifdef SX_ENV
	sv_cmd_name[sv_cmd_max]="env";      sv_cmd_fun[sv_cmd_max++]=EnvMain;
#endif
#ifdef SX_EXIT
	sv_cmd_name[sv_cmd_max]="exit";     sv_cmd_fun[sv_cmd_max++]=ExitMain;
#endif
#ifdef SX_FALSE
	sv_cmd_name[sv_cmd_max]="false";    sv_cmd_fun[sv_cmd_max++]=FalseMain;
#endif
#ifdef SX_FORTUNE
	sv_cmd_name[sv_cmd_max]="fortune";  sv_cmd_fun[sv_cmd_max++]=FortuneMain;
#endif
#ifdef SX_GOTO
	sv_cmd_name[sv_cmd_max]="goto";     sv_cmd_fun[sv_cmd_max++]=GotoMain;
#endif
#ifdef SX_GREP
	sv_cmd_name[sv_cmd_max]="grep";     sv_cmd_fun[sv_cmd_max++]=GrepMain;
#endif
#ifdef SX_HEAD
	sv_cmd_name[sv_cmd_max]="head";     sv_cmd_fun[sv_cmd_max++]=HeadMain;
#endif
#ifdef SX_HISTORY
	sv_cmd_name[sv_cmd_max]="history";  sv_cmd_fun[sv_cmd_max++]=HistMain;
#endif
#ifdef SX_IF
	sv_cmd_name[sv_cmd_max]="if";       sv_cmd_fun[sv_cmd_max++]=IfMain;
#endif
#ifdef SX_LS
	sv_cmd_name[sv_cmd_max]="ls";       sv_cmd_fun[sv_cmd_max++]=LsMain;
#endif
#ifdef SX_MAN
	sv_cmd_name[sv_cmd_max]="man";      sv_cmd_fun[sv_cmd_max++]=ManMain;
#endif
#ifdef SX_MEM
	sv_cmd_name[sv_cmd_max]="mem";      sv_cmd_fun[sv_cmd_max++]=MemMain;
#endif
#ifdef SX_MORE
	sv_cmd_name[sv_cmd_max]="more";     sv_cmd_fun[sv_cmd_max++]=MoreMain;
#endif
#ifdef SX_MV
	sv_cmd_name[sv_cmd_max]="mv";       sv_cmd_fun[sv_cmd_max++]=MvMain;
#endif
#ifdef SX_PWD
	sv_cmd_name[sv_cmd_max]="pwd";      sv_cmd_fun[sv_cmd_max++]=PwdMain;
#endif
#ifdef SX_READ
	sv_cmd_name[sv_cmd_max]="read";     sv_cmd_fun[sv_cmd_max++]=ReadMain;
#endif
#ifdef SX_RM
	sv_cmd_name[sv_cmd_max]="rm";       sv_cmd_fun[sv_cmd_max++]=RmMain;
#endif
#ifdef SX_SHIFT
	sv_cmd_name[sv_cmd_max]="shift";    sv_cmd_fun[sv_cmd_max++]=ShiftMain;
#endif
#ifdef SX_SLEEP
	sv_cmd_name[sv_cmd_max]="sleep";    sv_cmd_fun[sv_cmd_max++]=SleepMain;
#endif
#ifdef SX_SORT
	sv_cmd_name[sv_cmd_max]="sort";     sv_cmd_fun[sv_cmd_max++]=SortMain;
#endif
#ifdef SX_TAIL
	sv_cmd_name[sv_cmd_max]="tail";     sv_cmd_fun[sv_cmd_max++]=TailMain;
#endif
#ifdef SX_TEE
	sv_cmd_name[sv_cmd_max]="tee";      sv_cmd_fun[sv_cmd_max++]=TeeMain;
#endif
#ifdef SX_TRUE
	sv_cmd_name[sv_cmd_max]="true";     sv_cmd_fun[sv_cmd_max++]=TrueMain;
#endif
#ifdef SX_TTY
	sv_cmd_name[sv_cmd_max]="tty";      sv_cmd_fun[sv_cmd_max++]=TtyMain;
#endif
#ifdef SX_VER
	sv_cmd_name[sv_cmd_max]="ver";      sv_cmd_fun[sv_cmd_max++]=VerMain;
#endif
#ifdef SX_WC
	sv_cmd_name[sv_cmd_max]="wc";       sv_cmd_fun[sv_cmd_max++]=WcMain;
#endif
#ifdef SX_WHOAMI
	sv_cmd_name[sv_cmd_max]="whoami";   sv_cmd_fun[sv_cmd_max++]=WhoamiMain;
#endif

	/* Create some buffers and tables */

	/* FCXs */
	if(!(sv_fcxbuf = malloc(SX_MAX_FCX * 13)))
		return ErrorMem();

	/* Environment names */
	if(!(sv_env_name = KeyAlloc(SX_MAX_ENV)))
		return ErrorMem();

	/* Environment values */
	if(!(sv_env_value = KeyAlloc(SX_MAX_ENV)))
		return ErrorMem();

	/* Alias names */
	if(!(sv_alias_name = KeyAlloc(SX_MAX_ALIAS)))
		return ErrorMem();

	/* Alias values */
	if(!(sv_alias_value = KeyAlloc(SX_MAX_ALIAS)))
		return ErrorMem();

	/* Directory names */
	if(!(sv_dir_path = KeyAlloc(SX_MAX_DIR)))
		return ErrorMem();

	/* Directory values */
	if(!(sv_dir_alias = KeyAlloc(SX_MAX_DIR)))
		return ErrorMem();

	/* History */
	if(!(sv_hist = KeyAlloc(SX_MAX_HIST)))
		return ErrorMem();

	/* Set-up CP/M */
	SetUpCPM();

	/* Set-up some variables */
	sv_cmd_err = "SamaruX";

	/*
	sv_flg_hist = sv_flg_buf = sv_flg_quit = sv_flg_cpm = sv_cmd_exit = sv_batch = 0; *** Already initialized to 0
	*/

	/* Check if there is a CP/M command line */
	if(*(ptr = 0x0080))
	{
#ifdef SX_CMDCPM
		/* Check mode */

		if(*ptr > 4 && ptr[1] == ' ' && ptr[2] == '-' && ptr[3] == 'R' && ptr[4] == ' ')
		{
			/* Restore mode: comeback from a CP/M command */

			/* Set EOS */

			ptr[1 + (*ptr)] = 0;

			/* Load SamaruX status */

			LoadStatus(ptr + 5);
		}
		else
		{
#endif
			/* CP/M mode: execute command and return to CP/M */

			++sv_flg_cpm;

			/* Profile */
			Profile(SX_PROFCPM);

			/* Cook the command line a bit */
			ptr[*ptr + 1] = 0;

			while(*++ptr)
				*ptr = tolower(*ptr);

			/* Execute the command line */
			Execute(0x0081);

			/* Return to CP/M */
			return 0;
#ifdef SX_CMDCPM
		}
#endif
	}
	else
	{
		/* Interactive mode: execute commands until user quits the shell */
		printf("SamaruX v%d.%02d / %s\n\n%s\n\n", SX_VERSION, SX_RELEASE, SX_APPDATE, SX_COPYRGT);
		printf("CP/M v%d.%d\n\n", (sv_cpmver >> 4) & 0x0F, sv_cpmver & 0x0F);
		printf("%d built-in commands\n\n", sv_cmd_max);

		/* Profile */
		Profile(SX_PROFILE);
	}

	/* Interactive shell */
	while(1)
	{
		/* Re-use the buffer? */
		if(sv_flg_buf)
			sv_flg_buf = 0;
		else
			sv_ed_buf[0] = 0;

		/* Show prompt */
		Prompt();

		/* Read the command line */
		ReadLine(sv_ed_buf, SX_LINESIZE-1);
		putchar('\n');

		ptr = SkipSpaces(sv_ed_buf);

		if(*ptr)
		{
			/* Execute the command line */
			Execute(ptr);

			/* Quit the shell? */
			if(sv_flg_quit)
				break;

			/* Update history */
			UpdateHist();

			putchar('\n');
		}
	}

	/* Return to CP/M */
	return 0;
}
Example #4
0
void CHistogram::UpdateHist()
{
   for (int i=0; i<m_numChannels; i++)
      UpdateHist(m_pLevels[i], m_pHist[i], m_nLevels[i] - 1);
}
Example #5
0
int CMain::ReceiveIpcHandler()
{
	int cmdCode = 0;
	string strCmdCode;
	CGlobal *cGlob = NULL;
	CModuleIPC *cIpc = NULL;
	CProtocol cProto;
	char chFlag = 0;
	int nRet = 0;

	cGlob = CGlobal::GetInstance();

	cIpc = cGlob->GetModuleIPC();

	nRet = cIpc->RecvMesg(cGlob->GetLocalProcNo(), cProto, -1);
	if(nRet < 0){
		CLA_LOG(CLA_ERR,false,"Message receive failed(ERR:%s)\n", cIpc->m_strErrorMsg.c_str());
		return CLA_NOK;
	}
	else if(nRet == 0){
		return CLA_OK;
	}

	chFlag = cProto.GetFlag();

	if((chFlag != CProtocol::FLAG_RESPONSE)){
		CLA_LOG(CLA_ERR,false,"Invalid Flag(flag=%d)\n",chFlag);
		return CLA_NOK;
	}

	strCmdCode = cProto.GetCommand();

	cmdCode = CGlobal::GetCmdCode(strCmdCode);

	switch(cmdCode){
		case CMD_CLI_COMMAND:
			{
				unsigned int fd = 0;
				unsigned int nSessionId = 0;
				CCliPeer *cPeer = NULL;
				CSession *cSession = NULL;
				CCliRsp decRsp;
				string strPayload;

				nSessionId = cProto.GetSequence();

				cSession = FindSession(nSessionId);
				if(cSession == NULL){
					CLA_LOG(CLA_ERR,false,"Can not find session(id=%d)\n",nSessionId);
					return CLA_NOK;
				}

				strPayload = cProto.GetPayload();

				decRsp.DecodeMessage(strPayload);

				decRsp.SetSessionId(cSession->GetClcSessionId());

				decRsp.EncodeMessage(strPayload);

				cProto.SetPayload(strPayload);
				cProto.SetSequence(cSession->GetClcSessionId());

				fd = cSession->GetPeerFd();

				cPeer = FindPeerByFd(fd);
				if(cPeer == NULL){
					CLA_LOG(CLA_ERR,false,"Can not find peer(fd=%d)\n",fd);
					delete cSession;
					return CLA_NOK;
				}

				if(cPeer->GetTimestamp() != cSession->GetPeerTimestamp()){
					CLA_LOG(CLA_ERR,false,"Can not find peer(timestamp=%lu, %lu)\n", 
							cPeer->GetTimestamp() ,cSession->GetPeerTimestamp());
					delete cSession;
					return CLA_NOK;
				}

				/* update hist */
				UpdateHist(cPeer, cSession, &decRsp);

				cPeer->Send(cProto);

				delete cSession;
			}
			break;
		default :
			CLA_LOG(CLA_ERR,false,"Invalid cmdCode(%s)\n",cProto.GetCommand().c_str());
			return CLA_NOK;

	};


	return CLA_OK;
}