コード例 #1
0
RSL_FUNC(Bool32) RSL_Init(uint16_t wHeightCode,HANDLE hStorage)
{
	LDPUMA_Init(0,NULL);
	LDPUMA_Registry(&hDebugRSL,SNAP_STUFF_RSL,NULL);
	LDPUMA_Registry(&hPreRSL_Root, "Предварительная обработка линий", hDebugRSL);
	LDPUMA_Registry(&hPreRSL_Debug, "Отладка работы (pre)", hPreRSL_Root);
	LDPUMA_Registry(&hPreRSL_Control, "Контроль работы (pre)", hPreRSL_Root);

	LDPUMA_Registry(&hSkipCheckUnderlining, "Выключить проверку подчерков", hPreRSL_Debug);
	LDPUMA_Registry(&hPrintUnderlineTest, "Вывод результатов проверки подчеркивания", hPreRSL_Control);
	LDPUMA_RegistryHelp(hPrintUnderlineTest, "В Console печатается количество черных точек (на 1000) в верхней части растра линии", FALSE);
	LDPUMA_Registry(&hPrintUnderlines, "Вывод координат подчерков", hPreRSL_Control);
	LDPUMA_RegistryHelp(hPrintUnderlines, "В Console печатаются координаты линий, определенных как подчерки", FALSE);

	LDPUMA_Registry(&hSkipCheckRaster, "Не проверять линии по растру", hPreRSL_Debug);
	LDPUMA_RegistryHelp(hSkipCheckRaster, "Если выключить проверку линий по растру, могут подтвердиться линии, выделенные по жирному тексту", FALSE);
	LDPUMA_Registry(&hPrintRasterCheck, "Вывод результатов проверки растра", hPreRSL_Control);
	LDPUMA_RegistryHelp(hPrintRasterCheck, "В Console печатается количество черных точек (на 1000) в растре линии", FALSE);

	LDPUMA_Registry(&hDebugFrag,"Поиск фрагментов линии",hDebugRSL);
    LDPUMA_Registry(&hDebugFragOwner,"Отладка поиска фрагментов линии",hDebugFrag);
    LDPUMA_Registry(&hDebugFragOwnerControl,"Контроль поиска фрагментов линии",hDebugFrag);

	LDPUMA_Registry(&hDebugDrowRectForRaster,"Рисуется прямоугольник линии",hDebugFragOwnerControl);
	LDPUMA_Registry(&hSkipCorrectPolynomia,"Не корректировать 4-хугольник линии",hDebugFragOwner);
	LDPUMA_Registry(&hPrintCorrectPolynomia,"Результат проверки 4-хугольника линии",hDebugFragOwnerControl);
	LDPUMA_RegistryHelp(hPrintCorrectPolynomia,"Вывод на консоль результатов проверки 4-хугольника линии",FALSE);
	LDPUMA_Registry(&hDebugDrowPolynomia,"Рисуется контур линии",hDebugFragOwnerControl);
	LDPUMA_Registry(&hDebugDrowCleanedRaster,"Рисуется прямоугольник линии после подчистки",hDebugFragOwnerControl);
	LDPUMA_Registry(&hDebugDrowGetCorrectedLineStripesIntervals,"Рисуется интервальное представление линии",hDebugFragOwnerControl);

	LDPUMA_Registry(&hDebugDrowVerticalLineRaster,"Рисуется растр вертикальной линии",hDebugFragOwnerControl);
	LDPUMA_Registry(&hDebugDrowVerticalLineStripesIntervals,"Рисуется интервальное представление вертикальной линии",hDebugFragOwnerControl);
	LDPUMA_Registry(&hDebugDrowVerticalLineCutPoints,"Рисуется точки пересечения вертикальной линии",hDebugFragOwnerControl);
	LDPUMA_Registry(&hDebugTypeIntervals,"Вывод на Consol координат интервалов линии",hDebugFragOwnerControl);
	LDPUMA_Registry(&hDebugTypeStripe,"Вывод на Consol интервальное представление линии",hDebugFragOwnerControl);
	LDPUMA_Registry(&hSkipDeleteNoiseEvents, "Не выполнять удаление шумовых фрагментов", hDebugFragOwner);
	LDPUMA_RegistryHelp(hSkipDeleteNoiseEvents, "Не удалять шумовые фрагменты", FALSE);
	LDPUMA_Registry(&hSkipDelFragLines, "Не удалять сильно фрагментированную линии", hDebugFragOwner);
	LDPUMA_RegistryHelp(hSkipDelFragLines, "Не удалять линии с числом фрагментов больше 5", FALSE);
	LDPUMA_Registry(&hPrintFragLines, "Печать результатов проверки фрагментации", hDebugFragOwnerControl);
	LDPUMA_RegistryHelp(hPrintFragLines, "Вывод на Consol результатов проверки кандидатов на удаление", FALSE);
	LDPUMA_Registry(&hDebugDrawLineFragmentsOwnWindow,"Рисуются фрагменты линии в отдельном окне",hDebugFragOwnerControl);
	LDPUMA_Registry(&hDebugDroweparationPoints,"Рисуются точки деления линии в отдельном окне",hDebugFragOwnerControl);
    LDPUMA_Registry(&hDebugDrawLineFragments,"Рисуются фрагменты линии в основном окне",hDebugFragOwnerControl);
    LDPUMA_RegistryHelp(hDebugDrawLineFragments, "Фрагменты рисуются для каждой линии в отдельности", FALSE);

	LDPUMA_Registry(&hDebugAttr,"Поиск атрибутов линий",hDebugRSL);
    LDPUMA_Registry(&hDebugAttrOwner,"Контроль поиска атрибутов линии",hDebugAttr);
	LDPUMA_Registry(&hDebugTypeWidth,"Вывод на Consol ширины линии",hDebugAttrOwner);
	LDPUMA_Registry(&hDebugTypeDegree,"Вывод на Consol угла наклона линии",hDebugAttrOwner);

    gwHeightRC = wHeightCode;

    return RESULT;
}
コード例 #2
0
ファイル: rpstr.c プロジェクト: PauloMigAlmeida/cuneiform
RPSTR_FUNC(Bool32)  RPSTR_Init( uint16_t wHeightCode , Handle hStorage)
{
wHeightRC = wHeightCode;
wLowRC    = RPSTR_ERR_NO;
snap_enable = TRUE;
exit_enable = FALSE;
LDPUMA_Init(0,NULL);
//kegl_snap_init();
LDPUMA_Registry(&hSnapSpell,"Словарь и постобработка",NULL);
LDPUMA_RegistryHelp(hSnapSpell,"Словарь",FALSE);
LDPUMA_Registry(&hSnapWordSpell,"Запретить проверку словами",hSnapSpell);
LDPUMA_Registry(&hSnapMatch,"Показать проверку словами",hSnapWordSpell);
LDPUMA_RegistryHelp(hSnapWordSpell,"Разрешить проверку словами",FALSE);
LDPUMA_Registry(&hSnapCapDrop,"Запретить обработку БУКВИЦ",hSnapSpell);
LDPUMA_RegistryHelp(hSnapCapDrop,"Запретить обработку БУКВИЦ",FALSE);

LDPUMA_Registry(&hSnapEndWord,"Отменить проверку окончаний",hSnapSpell);
LDPUMA_RegistryHelp(hSnapEndWord,"Разрешить или нет любые замены окончаний",FALSE);
LDPUMA_Registry(&hSnapStartWord,"Отменить осторожность в именах",hSnapSpell);
LDPUMA_RegistryHelp(hSnapStartWord,"Обращаться или нет одинаково со всеми словами",FALSE);

LDPUMA_Registry(&hVertCompD,"Прорисовка букв в вертикальных строках!",NULL);
LDPUMA_RegistryHelp(hVertCompD,"Разрешить прорисовку букв в вертикальных строках",FALSE);
return TRUE;
}
コード例 #3
0
RCUTP_FUNC(Bool32) RCUTP_Init(uint16_t wHeightCode,Handle hStorage)
{
	LDPUMA_Init(0,NULL);
	LDPUMA_Registry(&hDebugRoot,SNAP_ROOT_CONVERTERS,NULL);
	LDPUMA_Registry(&hDebugMy,"Отладка точек разрезания",hDebugRoot);

	LDPUMA_Registry(&hDebugCutP,"Просмотр точек разрезания",hDebugMy);
	LDPUMA_RegistryHelp(hDebugCutP,"Эта опция предназначена для вывода точек разрезания",FALSE);

	gwHeightRC = wHeightCode;

 return TRUE;
}
コード例 #4
0
RSELSTR_FUNC(Bool32) RSELSTR_Init(uint16_t wHeightCode,HANDLE hStorage)
{
	gwHeightRC = wHeightCode;
	LDPUMA_Init(0,NULL);
/*------------------------------------------------------------------------------------------*/

//	CHSTR_Init(wHeightCode,NULL);

/*------------------------------------------------------------------------------------------*/

    LDPUMA_Registry(&MainDebug,SNAP_ROOT_MAIN_DEBUG,NULL);
    LDPUMA_Registry(&MainTime,SNAP_ROOT_MAIN_TIME_CONTROL,NULL);

    LDPUMA_Registry(&RselstrTime,"Выделение строк..",MainTime);
	LDPUMA_Registry(&hExit,"От RSELSTR до распознавания",MainTime);


//	LDPUMA_Registry(&hVertCellsWork,"Обработка вертикальных ячеек таблиц",MainDebug);
//    LDPUMA_RegistryHelp(hVertCellsWork,"Активизация вершины разрешит обработку вертикальных ячеек таблиц.",FALSE);

//	LDPUMA_Registry(&hNegaCellsWork,"Обработка негативных ячеек таблиц",MainDebug);
//    LDPUMA_RegistryHelp(hNegaCellsWork,"Активизация вершины разрешит обработку негативных ячеек таблиц.",FALSE);

	LDPUMA_Registry(&hDebugCutStr,"Резка слипшихся компонент повсеместно",MainDebug);
	LDPUMA_RegistryHelp(hDebugCutStr,"Разрешить резку слипшихся компонент повсеместно",FALSE);

//	LDPUMA_Registry(&hStrPointed,"Проставка флагов точечных линий на строки",MainDebug);
//    LDPUMA_RegistryHelp(hStrPointed,"Активизация вершины разрешит проставку флагов точечных линий на строки.",FALSE);


	LDPUMA_Registry(&Root,SNAP_ROOT_STRINGS,NULL);
    LDPUMA_RegVariable(Root,"Установить уровень отладки.",&layout,"unsigned char");
	LDPUMA_RegistryHelp(Root,"В переменных можно установить значение уровня \
отладки от 5 до 8. При продавление вершины строки будут выделяться модулем RBLOCK.",TRUE);


	LDPUMA_Registry(&hShowString,"Показать выделенные строки",Root);
	LDPUMA_RegistryHelp(hShowString,"Будут показаны позитивные строки с нормальной ориентацией в виде прямоугольников.",FALSE);

	LDPUMA_Registry(&hStrPointedD,"Показать строки с флагом пунктирности",Root);
	LDPUMA_RegistryHelp(hStrPointedD,"Будут показаны строки с флагом пунктирности.",FALSE);

	LDPUMA_Registry(&hShowCells,"Показать выделенные ячейки с компонентами!",Root);
	LDPUMA_RegistryHelp(hShowCells,"Будут подсвечиваться ячейка и входящие \
в нее компоненты.",FALSE);


	LDPUMA_Registry(&VertCells,"Работа с вертикальными ячейками таблиц",NULL);
	LDPUMA_RegistryHelp(VertCells,"Работа с вертикальными ячейками таблиц",FALSE);

	LDPUMA_Registry(&NegaCells,"Работа с негативными ячейками таблиц",NULL);
	LDPUMA_RegistryHelp(NegaCells,"Работа с негативными ячейками таблиц",FALSE);

	LDPUMA_Registry(&ShowVertCells,"Показать вертикальные ячейки таблиц",VertCells);
	LDPUMA_RegistryHelp(ShowVertCells,"Будут показаны ячейки таблиц с вертикальным расположением строк.",FALSE);

	LDPUMA_Registry(&ShowNegaCells,"Показать негативные ячейки таблиц",NegaCells);
	LDPUMA_RegistryHelp(ShowNegaCells,"Будут показаны негативные ячейки таблиц.",FALSE);

    LDPUMA_Registry(&hCutStr,"Резка слипшихся компонент повсеместно!",Root);
	LDPUMA_RegistryHelp(hCutStr,"Вершина резки слипшихся компонент повсеместно",FALSE);

    LDPUMA_Registry(&CutStrPrintFILE,"Печать в файл разрезанных компонент повсеместно",hCutStr);
	LDPUMA_RegistryHelp(CutStrPrintFILE,"Разрешить печать в файл cutstr.res разрезанных компонент повсеместно",FALSE);

    LDPUMA_Registry(&CutStrD,"Визуальный просмотр результатов резки",hCutStr);
	LDPUMA_RegistryHelp(CutStrD,"Разрешить визуальный просмотр результатов резки компонент повсеместнов",FALSE);

    LDPUMA_Registry(&DifferenCutToHistory,"Визуальный просмотр отличий",hCutStr);
	LDPUMA_RegistryHelp(DifferenCutToHistory,"Разрешить визуальный просмотр отличий от предыдущего варианта",FALSE);

    LDPUMA_Registry(&hCutComp,"Резка слипшихся компонент",Root);
	LDPUMA_RegistryHelp(hCutComp,"Запретить резку слипшихся компонент на пересечении линий таблицы",FALSE);


    LDPUMA_Registry(&CutCompPrintFILE,"Печать в файл разрезанных компонент",hCutComp);
	LDPUMA_RegistryHelp(CutCompPrintFILE,"Разрешить печать в файл cutcomp.res разрезанных компонент",FALSE);

    LDPUMA_Registry(&CutCompD,"Визуальный просмотр результатов резки!!",hCutComp);
	LDPUMA_RegistryHelp(CutCompD,"Разрешить визуальный просмотр результатов резки компонент",FALSE);

    LDPUMA_Registry(&DifferenCutCompToHistory,"Визуальный просмотр отличий!",hCutComp);
	LDPUMA_RegistryHelp(DifferenCutCompToHistory,"Разрешить визуальный просмотр отличий от предыдущего варианта",FALSE);

    LDPUMA_Registry(&hTime,"Контроль времени!!!",Root);
	LDPUMA_RegistryHelp(hTime,"Разрешить контроль времени",FALSE);

    LDPUMA_Registry(&hDrawComp,"Прорисовка компонент !!!",Root);
	LDPUMA_RegistryHelp(hDrawComp,"Прорисовка компонент.",FALSE);


//	LDPUMA_Registry (&hUseCLine,"Работа с контейнером линий",NULL);

 list=NULL;
 prelist=NULL;

// list=new CLhstr;
// prelist=new CLPrepHstr;

 LDPUMA_Registry (&Root_CHSTR,"Выделитель строк в нестандартных объектах", Root);
 const char *pText;

 /*  Корневая вершина  */
 pText = "<Ответственный тов. Степаненков> \
 \n Корневая вершина выделителя строк в нестандартных объектах.";
 LDPUMA_RegistryHelp (Root_CHSTR, pText, FALSE);

 /*  Положить в контейнер*/
 LDPUMA_Registry (&PutToCHSTR,"Положить в контейнер", Root_CHSTR);
 pText = "Положить объект в контейнер сложных строк";
 LDPUMA_RegistryHelp (PutToCHSTR, pText, FALSE);

 /*  Вершина резки на строки*/
 LDPUMA_Registry (&CutStrV,"Резка на строки",PutToCHSTR);
 pText = "Осуществляется резка объектов на строки";
 LDPUMA_RegistryHelp (CutStrV, pText, FALSE);
 LDPUMA_RegVariable (CutStrV,"cut_white",&cut_white,"double");
 LDPUMA_RegVariable (CutStrV,"cut_str",&cut_str,"double");
 LDPUMA_RegVariable (CutStrV,"inf_let_black",&inf_let_black,"double");
 LDPUMA_RegVariable (CutStrV,"inf_str_h",&inf_str_h,"int");
 LDPUMA_RegVariable (CutStrV,"inf_str_w",&inf_str_w,"int");

 /*  Положить в контейнер CSTR*/
 LDPUMA_Registry (&PutToCSTR,"Положить в контейнер CSTR", Root_CHSTR);
 pText = "Выгрузить строки из CHSTR в CSTR";
 LDPUMA_RegistryHelp (PutToCSTR, pText, FALSE);

 /*Вершина прорисовки положенных только что строк*/
 LDPUMA_Registry (&StrD,"Прорисовать строки", CutStrV);
 pText = "Прорисовать строки, которые кладутся в данный момент";
 LDPUMA_RegistryHelp (StrD, pText, FALSE);

 /*Вершина прорисовки строки пикселей при резке*/
 LDPUMA_Registry (&StrPix,"Прорисовать строку пикселей при резке", CutStrV);
 pText = "Прорисовать строку пикселей при резке";
 LDPUMA_RegistryHelp (StrPix, pText, FALSE);

 /*Вершина чистки при резке*/
 LDPUMA_Registry (&CutStrDel,"Чистка при резке", CutStrV);
 pText = "Удалять по возможности мусор при резке";
 LDPUMA_RegistryHelp (CutStrDel, pText, FALSE);


 return TRUE;
}
コード例 #5
0
ファイル: dll.cpp プロジェクト: PauloMigAlmeida/cuneiform
RMARKER_FUNC(Bool32) RMARKER_Init(uint16_t wHeightCode,Handle hStorage)
{

 LDPUMA_Init  (0,NULL);

// Buffer=NULL;
// Buffer=(uchar*)RMARKERAlloc(BufferSize*sizeof(uchar));
// if(!Buffer)
//	return FALSE;
// WorkMem=(uchar*)RMARKERAlloc(WorkMemSize*sizeof(uchar));
// if(!WorkMem)
//	return FALSE;

/*------------------------------------------------------------------------------------------*/

	RNEG_Init(wHeightCode,NULL);


/*------------------------------------------------------------------------------------------*/
#ifdef _USE_RFILL_
	if (!RFILL_Init())
	{
		uint32_t  retCode = RFILL_GetReturnCode   ();
		char   *pszMsg  = RFILL_GetReturnString (retCode);
		return  FALSE;
	}
#endif //_USE_RFILL_
/*------------------------------------------------------------------------------------------*/


 LDPUMA_Registry(&hMainTime,SNAP_ROOT_MAIN_TIME_CONTROL,NULL);
	LDPUMA_Registry(&hPrep,"Подготовка.Верт. лин. проц.",hMainTime);
	LDPUMA_Registry(&hPicture,"Выделение трив. картинок.",hMainTime);
	LDPUMA_Registry(&hNegative,"Выделение негативов..",hMainTime);
	LDPUMA_Registry(&hTableZones,"Выделение зон таблиц..",hMainTime);
	LDPUMA_Registry(&hLines3,"Линии.Третий проход..",hMainTime);
	LDPUMA_Registry(&hVCutInZones,"Верт. резка в ЗТ.",hMainTime);
	LDPUMA_Registry(&hSearchTables,"Поиск таблиц..",hMainTime);
	LDPUMA_Registry(&hAnalTables,"Анализ структуры таблиц..",hMainTime);
	LDPUMA_Registry(&hSVLP,"Верт. лин. проц.",hMainTime);
	LDPUMA_Registry(&hBlocks,"Выделение фрагментов..",hMainTime);
	LDPUMA_Registry(&hNegaTestCells,"Нег. диаг. ячеек таблиц..",hMainTime);
	LDPUMA_Registry(&hVertTestCells,"Верт. диаг. ячеек таблиц..",hMainTime);
	LDPUMA_Registry(&hFon,"Поис фона..",hMainTime);
	LDPUMA_Registry(&hEnd,"От RMARKER до выделения строк..",hMainTime);
	LDPUMA_Registry(&hSegment,"Грубое выделение фрагментов...",hMainTime);

 LDPUMA_Registry(&MainDebug,SNAP_ROOT_MAIN_DEBUG, NULL );


// LDPUMA_Registry (&hUseCLine,"Работа с контейнером линий",NULL);

 LDPUMA_Registry(&DebugFill,"Поиск фона в таблицах",MainDebug);
 LDPUMA_RegistryHelp(DebugFill,"Активизация вершины разрешит поиск фона в таблицах.",FALSE);

 LDPUMA_Registry(&hDebugNeg,"Этап поиска негативов.",NULL);

 LDPUMA_Registry(&hDebugLinePass3,"Этап оценки линий.",NULL);
 LDPUMA_Registry(&hDebugLinePass2,"Этап третьего прохода по линиям.",NULL);
 LDPUMA_Registry(&hDebugVerifLine,"Верификация линий.",NULL);

 LDPUMA_Registry(&hNegaCellsAuto,"Диагностика негативных ячеек таблиц",MainDebug);
 LDPUMA_RegistryHelp(hNegaCellsAuto,"Активизация вершины разрешит диагностику негативных ячеек таблиц.",FALSE);

 LDPUMA_Registry(&hVertCellsAuto,"Этап автоматической вертикальной диагностики ячеек таблиц.",NULL);

 LDPUMA_Registry(&hVertCells,"Работа с вертикальными ячейками таблиц",NULL);

 LDPUMA_Registry(&hPrintFileVertCells,"Печать в файл вертикальных ячеек",hVertCells);
 LDPUMA_RegistryHelp(hPrintFileVertCells,"Разрешить печать в файл vertcell.res вертикальных ячеек таблиц.",FALSE);

 LDPUMA_Registry(&hNegaCells,"Работа с негативными ячейками таблиц",NULL);

 LDPUMA_Registry(&hDebugUpDown,"Сверху вниз",hVertCells);
 LDPUMA_RegistryHelp(hDebugUpDown,"При продавлении вершины вертикальные строки будут считаться типа Сверху-Вниз.",FALSE);

 LDPUMA_Registry(&hDebugPictures,SNAP_LAYOUT_PICTURES,NULL);

 LDPUMA_Registry(&hLayout,SNAP_ROOT_LAYOUT,NULL);

 LDPUMA_RegistryHelp(hZone,"Вершина поиска зон таблиц.",FALSE);

 LDPUMA_Registry(&hPrintCrossedPics, "Отпись пересекаемых таблицами картинок", hLayout);
 LDPUMA_RegistryHelp(hPrintCrossedPics, "Печать в файл crossed.txt координат картинок, пересекаеющи зоны таблиц", FALSE);

 LDPUMA_Registry(&hNoRazrTabl, "Отменить разрезание склеенных таблиц.",hZone);
 LDPUMA_RegistryHelp(hNoRazrTabl, "Отменить разрезание склеенных таблиц.", FALSE);

 LDPUMA_Registry(&hNoGiveNeg, "Не сдавать негативы.",hZone);
 LDPUMA_RegistryHelp(hNoGiveNeg, "Не сдавать негативы.", FALSE);

 LDPUMA_Registry(&hNoSeePict,"Не учитывать картинки.",hZone);
 LDPUMA_RegistryHelp(hNoSeePict,"Не учитывать картинки.",FALSE);


 remove("crossed.txt");

	return TRUE;
}
コード例 #6
0
ファイル: _debug.c プロジェクト: PauloMigAlmeida/cuneiform
void InitDebug()
{
	layout = 0;

//Beg of Almi Corr
//	LDPUMA_Registry(&hDebugLayout,SNAP_ROOT_LAYOUT,NULL);
	LDPUMA_Registry(&hDebugLayout,SNAP_LAYOUT_LAYOUT,NULL);
//End of Almi 05.12.00; не вполне правильно, но и так сойдёт; (не прав был Лёха)
    LDPUMA_RegVariable(hDebugLayout,"Установить уровень отладки.",&layout,"unsigned char");
	LDPUMA_RegistryHelp(hDebugLayout,"В переменных можно установить значение уровня \
отладки от 1 до 4",TRUE);

	LDPUMA_RegVariable(hDebugLayout,"Коэффициент для выделения заголовков * 2.",
		&ZagolovokBreakingCoeff,"unsigned int");
	//LDPUMA_RegistryHelp(hDebugLayout,"rrrrrrrrrrrrr",TRUE);

	/*
	LDPUMA_Registry(&hDebugCancelGreatComp,"Отменить большие компоненты",hDebugLayout);
	LDPUMA_RegistryHelp(hDebugCancelGreatComp,"Большие компоненты не будут передаваться \
фрагментатору.",FALSE);

	LDPUMA_Registry(&hDebugCancelPicturesAndTables,"Отменить картинки и таблицы",hDebugLayout);
	LDPUMA_RegistryHelp(hDebugCancelPicturesAndTables,"Пропустить работу с \
картинками и таблиблицами",FALSE);


	LDPUMA_Registry(&hShowAlgoritm,"Работа алгоритма",hDebugLayout);
	LDPUMA_RegistryHelp(hShowAlgoritm,"Показать детально работу фрагментатора. \
Сама эта кнопка не несет информации",FALSE);
    */



	LDPUMA_Registry(&hAlgoritmWork,"Работа алгоритма",hDebugLayout);
	LDPUMA_RegistryHelp(hAlgoritmWork,"Управление работой фрагментатора.",FALSE);



	LDPUMA_Registry(&hNotWholeLine,"Отменить разрезание блока по неполной линиии.",hAlgoritmWork);
	LDPUMA_RegistryHelp(hNotWholeLine,"Отменить разрезание блока по неполной линиии.",FALSE);

	LDPUMA_Registry(&hNotUseAntonCross,"Отменить алгоритм определения вставляемого фрагмента.",hAlgoritmWork);
	LDPUMA_RegistryHelp(hNotUseAntonCross,"Отменить предложенный Антоном алгоритм определения вставляемого фрагмента.",FALSE);

	LDPUMA_Registry(&hHystogramNull,"Отменить обнуление верт. гистограм.",hAlgoritmWork);
	LDPUMA_RegistryHelp(hHystogramNull,"Отменить обнуление минимумов в вертикальных \
 гистограммах, (например в случае текста под картинкой посреди двухколончатого фрагмента).",FALSE);

  //George, 12.11.01 (dd.mm.yy)
	LDPUMA_Registry(&hSetTrivAverHeight,"Тривиальное вычисление nAverageHeight",hAlgoritmWork);
	LDPUMA_RegistryHelp(hSetTrivAverHeight,"Заменить вычисление среднего в поле nAverageHeight " \
                                         "на тривиальную (обычную) формулу вычисления среднего",FALSE);


	LDPUMA_Registry(&hPageBeforeEditing,"Страница перед началом",hDebugLayout);
	LDPUMA_RegistryHelp(hPageBeforeEditing,"Показывает компоненты на странице \
перед началом работы",FALSE);

	LDPUMA_Registry(&hPageMatrix,"Построение PageMatrix",hDebugLayout);
	LDPUMA_RegistryHelp(hPageMatrix,"Показывает процесс построения PageMatrix \
(матрицы страницы)",FALSE);

	LDPUMA_Registry(&hInitialBreaking,"Начальное разбиение",hDebugLayout);
	LDPUMA_RegistryHelp(hInitialBreaking,"Показывает начальное разбиение страницы \
на блоки в результате использования PageMatrix'a",FALSE);

	LDPUMA_Registry(&hInclineCalculating,"Вычисление угла наклона",hDebugLayout);
	LDPUMA_RegistryHelp(hInclineCalculating,"Показывает процесс вычисления угла \
наклона страницы",FALSE);

	/*
	LDPUMA_Registry(&hBlocksAfterFirstExtraction,"Блоки после первого выделения",hShowAlgoritm);
	LDPUMA_RegistryHelp(hBlocksAfterFirstExtraction,"Пропустить работу",FALSE);
	*/

	LDPUMA_Registry(&hBlocksBreaking,"Разбиение",hDebugLayout);
	LDPUMA_RegistryHelp(hBlocksBreaking,"Показывает процесс разбиения блоков",FALSE);

	LDPUMA_Registry(&hBlocksGlueing,"Склейка",hDebugLayout);
	LDPUMA_RegistryHelp(hBlocksGlueing,"Показывает результат склейки блоков",FALSE);

	LDPUMA_Registry(&hFirstDustAbsorbtion,"Первый этап добавления дустов",hDebugLayout);
	LDPUMA_RegistryHelp(hFirstDustAbsorbtion,"Показывает блоки после первого этапа \
добавления дустов",FALSE);

	LDPUMA_Registry(&hRemoveEmptyBlocks,"Удаление пустых блоков",hDebugLayout);
	LDPUMA_RegistryHelp(hRemoveEmptyBlocks,"Показывает процесс удаления пустых блоков",FALSE);

	LDPUMA_Registry(&hSecondDustAbsorbtion,"Второй этап добавления дустов",hDebugLayout);
	LDPUMA_RegistryHelp(hSecondDustAbsorbtion,"Показывает блоки после второго этапа \
удаления дустов",FALSE);
/*
	LDPUMA_Registry(&hDebugStrings,SNAP_ROOT_STRINGS,NULL);
    LDPUMA_RegVariable(hDebugStrings,"Установить уровень отладки.",&layout,"unsigned char");
	LDPUMA_RegistryHelp(hDebugStrings,"В переменных можно установить значение уровня \
отладки от 5 до 8",TRUE);

	LDPUMA_Registry(&hShowString,"Показать выделенные строки",hDebugStrings);
	LDPUMA_RegistryHelp(hShowString,"Строки будут выделяться прямоугольниками.",FALSE);

	LDPUMA_Registry(&hShowCells,"Показать выделенные ячейки с компонентами",hDebugStrings);
	LDPUMA_RegistryHelp(hShowCells,"Будут подсвечиваться ячейка и входящие \
в нее компоненты.",FALSE);
*/
//	LDPUMA_Registry(&hUseCLine,"Работа с контейнером линий",NULL);


#define REGVAR(a)	LDPUMA_RegVariable(hDebugLayout,#a,&a,"short int")

# ifdef LT_DEBUG
    LDPUMA_RegVariable(hDebugLayout,"LT_DebugGraphicsLevel",&LT_DebugGraphicsLevel,"int");

	REGVAR(bDebugTimeFlag);
	REGVAR(bDebugOptionCalibratePictureRemovingCriteria);
	REGVAR(bDebugOptionCalibrateDD_RemovingCriteria);
	REGVAR(bDebugOptionCalibrateLinearRemovingCriteria);
# endif
	REGVAR(bOptionForceOneColumn);
	REGVAR(bOptionBusinessCardsLayout);
	REGVAR(bOptionPointSizeAnalysis);
	REGVAR(bOptionSmartBreaking);
	REGVAR(bOptionInitialBreakingByPageMatrix);
	REGVAR(bOptionBlocksRemovingByPageMatrix);
	REGVAR(bOptionBlocksRemovingByDustDistribution);
	REGVAR(bOptionSpecialHorizontalCutting);
	REGVAR(bOptionWhiteStripsBreaking);
# ifdef SE_DEBUG
    REGVAR(SE_DebugGraphicsLevel);
# endif
# ifdef MA_DEBUG
    REGVAR(MA_DebugLevel);
# endif

#undef REGVAR

}
コード例 #7
0
ファイル: __snp.c プロジェクト: chadheyne/cuneiform-by
	Bool32 LDPUMA_Init(uint16_t wHightCode, Handle hStorage)
	{
		Bool32 rc = FALSE;
#ifdef _DEBUG
		_CrtDbgReport( _CRT_WARN,NULL,__LINE__,__FILE__,
				"LDPUMA_Init(%i,%x)\n",wHightCode, hStorage);
#endif
		hDPuma = LoadLibrary("DPUMA.DLL");
		if(hDPuma)
		{
			Init = (FNDPUMA_Init)GetProcAddress(hDPuma,"DPUMA_Init");
			Done = (FNDPUMA_Done)GetProcAddress(hDPuma,"DPUMA_Done");
			GetExportData = (FNDPUMA_GetExportData)GetProcAddress(hDPuma,"DPUMA_GetExportData");
			SetImportData = (FNDPUMA_SetImportData)GetProcAddress(hDPuma,"DPUMA_SetImportData"); //tanya
		}
		if(Init && GetExportData)
		{
			if(GetExportData(DPUMA_FNDPUMA_Console,&Console)&&
					GetExportData(DPUMA_FNDPUMA_CreateSnap,&CreateSnap)&&
					GetExportData(DPUMA_FNDPUMA_DestroySnap,&DestroySnap)&&
					GetExportData(DPUMA_FNDPUMA_Stop,&Stop)&&
					GetExportData(DPUMA_FNDPUMA_IsActive,&IsActive)&&
					GetExportData(DPUMA_FNDPUMA_StatusLine,&StatusLine)&&
					GetExportData(DPUMA_FNDPUMA_Registry,&Registry)&&
					GetExportData(DPUMA_FNDPUMA_Skip,&Skip)&&
					GetExportData(DPUMA_FNDPUMA_StartLoop,&StartLoop)&&
					GetExportData(DPUMA_FNDPUMA_LoopNext,&LoopNext)&&
					GetExportData(DPUMA_FNDPUMA_CreateWindow,&fCreateWindow)&&
					GetExportData(DPUMA_FNDPUMA_MessageBoxOk,&MessageBoxOk)&&
					GetExportData(DPUMA_FNDPUMA_MessageBoxYesNo,&MessageBoxYesNo)&&
					GetExportData(DPUMA_FNDPUMA_WaitUserInput,&WaitUserInput)&&
					GetExportData(DPUMA_FNDPUMA_DrawLine,&DrawLine)&&
					GetExportData(DPUMA_FNDPUMA_DrawRect,&DrawRect)&&
					GetExportData(DPUMA_FNDPUMA_DrawLineTip,&DrawLineTip)&&
					GetExportData(DPUMA_FNDPUMA_DrawRectTip,&DrawRectTip)&&
					GetExportData(DPUMA_FNDPUMA_DeleteRects,&DeleteRects)&&
					GetExportData(DPUMA_FNDPUMA_DeleteLines,&DeleteLines)&&
					GetExportData(DPUMA_FNDPUMA_GetUserPoint,&GetUserPoint)&&
					GetExportData(DPUMA_FNDPUMA_GetUserRect,&GetUserRect)&&
					GetExportData(DPUMA_FNDPUMA_UpdateView,&UpdateView)&&
					GetExportData(DPUMA_FNDPUMA_DrawRaster,&DrawRaster)&&
					GetExportData(DPUMA_FNDPUMA_ZoomToRect,&ZoomToRect)&&
					GetExportData(DPUMA_FNDPUMA_RasterHeader,&RasterHeader)&&
					GetExportData(DPUMA_FNDPUMA_DrawFocusRect,&fnDrawFocusRect)&&
					GetExportData(DPUMA_FNDPUMA_RegVariable,&RegVariable)&&
					GetExportData(DPUMA_FNDPUMA_UnregVariable,&UnregVariable)&&
					GetExportData(DPUMA_FNDPUMA_GetDIBptr,&GetDIBptr)&&
					GetExportData(DPUMA_FNDPUMA_DrawString,&DrawString)&&
					GetExportData(DPUMA_FNDPUMA_DeleteStrings,&DeleteStrings)&&
					GetExportData(DPUMA_FNDPUMA_SetCallbackWindowProc,&SetCallbackWindowProc)&&
					GetExportData(DPUMA_FNDPUMA_DeviceToImage,&DeviceToImage)&&
					GetExportData(DPUMA_FNDPUMA_ImageToDevice,&ImageToDevice)&&
					GetExportData(DPUMA_FNDPUMA_SetCallbackMainFrameWindowProc,&SetCallbackMainFrameWindowProc)&&
					GetExportData(DPUMA_FNDPUMA_DestroyWindow,&fDestroyWindow)&&
					GetExportData(DPUMA_FNDPUMA_SendWindow,&SendWindow)&&
					GetExportData(DPUMA_FNDPUMA_SendMainWnd,&SendMainWnd)&&
					GetExportData(DPUMA_FNDPUMA_CSTR_Monitor,&cstr_Monitor)&&
					GetExportData(DPUMA_FNDPUMA_CSTR_GetPosition,&cstr_GetPosition)&&
					GetExportData(DPUMA_FNDPUMA_CSTR_SetPosition,&cstr_SetPosition)&&
					GetExportData(DPUMA_FNDPUMA_DestroyRasterWnd,&DestroyRasterWnd)&&
					GetExportData(DPUMA_FNDPUMA_CSTR_GetLength,&cstr_GetLength)&&
					GetExportData(DPUMA_FNDPUMA_ShowCutPoint,&ShowCutPoint)&&
					GetExportData(DPUMA_FNDPUMA_GetRasterPixel,&GetRasterPixel)&&
					GetExportData(DPUMA_FNDPUMA_CSTR_Update,&cstr_Update)&&
					GetExportData(DPUMA_FNDPUMA_SkipEx,&SkipEx)&&
					GetExportData(DPUMA_FNDPUMA_OpenFile,&fOpenFile)&&
					GetExportData(DPUMA_FNDPUMA_GetFileName,&fGetFileName)&&
					GetExportData(DPUMA_FNDPUMA_HandLayout,&fHandLayout)&&
					GetExportData(DPUMA_FNDPUMA_LockImage,&fLockImage)&&
					GetExportData(DPUMA_FNDPUMA_RegistryHelp,&RegistryHelp)&&
					GetExportData(DPUMA_FNDPUMA_SaveFile,&fSaveFile)&&
					GetExportData(DPUMA_FNDPUMA_ProgressStart, &fProgressStart )&&
					GetExportData(DPUMA_FNDPUMA_ProgressFinish,&fProgressFinish)&&
					GetExportData(DPUMA_FNDPUMA_ProgressStep, &fProgressStep )&&
					GetExportData(DPUMA_FNDPUMA_SetConsoleProperty, &fSetConsoleProperty )&&
					GetExportData(DPUMA_FNDPUMA_CreateHistogramm, &fCreateHistogramm )&&
					GetExportData(DPUMA_FNDPUMA_AddPointToHistogramm, &fAddPointToHistogramm )&&
					GetExportData(DPUMA_FNDPUMA_DoHistogramm, &fDoHistogramm )&&
					GetExportData(DPUMA_FNDPUMA_DestroyHistogramm, &fDestroyHistogramm )&&
					GetExportData(DPUMA_FNDPUMA_GetWindowHandle,&fGetWindowHandle)&&
					GetExportData(DPUMA_FNDPUMA_GetPrevSkipOwner,&fGetPrevSkipOwner)&&
					GetExportData(DPUMA_FNDPUMA_AllocHook,&fAllocHook)&&
					GetExportData(DPUMA_FNDPUMA_ConsoleClear,&fConsoleClear)&&
					GetExportData(DPUMA_FNDPUMA_ConsoleGetCurLine,&fConsoleGetCurLine)&&
					GetExportData(DPUMA_FNDPUMA_SetFileName,&fSetFileName )&&
					GetExportData(DPUMA_FNDPUMA_FOpen,&fFOpen )&&
					GetExportData(DPUMA_FNDPUMA_FClose,&fFClose)&&
					GetExportData(DPUMA_FNDPUMA_FPrintf1024,&fFPrintf1024)&&
					GetExportData(DPUMA_FNDPUMA_FPuts,&fFPuts)&&
					GetExportData(DPUMA_FNDPUMA_RasterText,&RasterText)&&
					SetImportData != NULL/*tanya*/
			)
			{
				rc = Init(wHightCode,hStorage);
				if(rc)
				{
#ifdef _DEBUG
					// На случай, если вызывается не один раз.
					_CRT_ALLOC_HOOK pHook = _CrtSetAllocHook(__DPUMA__AllocHook__);
					if(__DPUMA__AllocHook__ != pHook)
					PrevAllocHook = pHook;
#endif
					fCreateWindow("Main",NULL);
					LDPUMA_Registry(&hWriteFile,"Выполнять отладочную запись в файл.",NULL);
					LDPUMA_RegistryHelp(hWriteFile,"Разрешает отладочную запись функциями DPUMA.",FALSE);
				}
			}
		}
		return rc;
	}