1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/tboox-hnr

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
sh_hp.h 1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
ruki Отправлено 02.07.2013 10:09 2c68758
#ifndef SH_HP_H
#define SH_HP_H
// helper
#include "prefix.h"
// 1: exist & not delete
// -1: not exist & not add
// 0: optional & not modify
// -2: not exist & add
// +2: exist & delete
// -3: optional & delete
// +3: optional & add
// tp: template
inline bool sh_hp_match(image_type const& old_img, image_type& new_img, int x, int y, double const* tp, int tp_w, int tp_h)
{
bool is_matched = true;
int k = 0;
for (k = 0; k < (tp_w * tp_h); ++k)
{
if (0 == tp[k] || 3 == tp[k] || -3 == tp[k]) continue;
if ((old_img.at(x + k % tp_w, y + k / tp_w).is_black()? 1 : -1) != tp[k]
&& (old_img.at(x + k % tp_w, y + k / tp_w).is_black()? 2 : -2) != tp[k])
{
is_matched = false;
break;
}
}
if (is_matched)
{
for (k = 0; k < (tp_w * tp_h); ++k)
{
if (tp[k] == -2 || tp[k] == +3) new_img.at(x + k % tp_w, y + k / tp_w).is_black(true);
if (tp[k] == +2 || tp[k] == -3) new_img.at(x + k % tp_w, y + k / tp_w).is_black(false);
}
}
return is_matched;
}
#endif // SH_HP_H

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/tboox-hnr.git
git@api.gitlife.ru:oschina-mirror/tboox-hnr.git
oschina-mirror
tboox-hnr
tboox-hnr
master