2 Star 0 Fork 0

mirrors_anthonyfok/scantailor

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
PageId.cpp 2.09 KB
一键复制 编辑 原始数据 按行查看 历史
/*
Scan Tailor - Interactive post-processing tool for scanned pages.
Copyright (C) 2007-2008 Joseph Artsimovich <[email protected]>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "PageId.h"
#include <QString>
#include <assert.h>
PageId::PageId()
: m_subPage(SINGLE_PAGE)
{
}
PageId::PageId(ImageId const& image_id, SubPage subpage)
: m_imageId(image_id),
m_subPage(subpage)
{
}
QString
PageId::subPageToString(SubPage const sub_page)
{
char const* str = 0;
switch (sub_page) {
case SINGLE_PAGE:
str = "single";
break;
case LEFT_PAGE:
str = "left";
break;
case RIGHT_PAGE:
str = "right";
break;
}
assert(str);
return QString::fromAscii(str);
}
PageId::SubPage
PageId::subPageFromString(QString const& string, bool* ok)
{
bool recognized = true;
SubPage sub_page = SINGLE_PAGE;
if (string == "single") {
sub_page = SINGLE_PAGE;
} else if (string == "left") {
sub_page = LEFT_PAGE;
} else if (string == "right") {
sub_page = RIGHT_PAGE;
} else {
recognized = false;
}
if (ok) {
*ok = recognized;
}
return sub_page;
}
bool operator==(PageId const& lhs, PageId const& rhs)
{
return lhs.subPage() == rhs.subPage() && lhs.imageId() == rhs.imageId();
}
bool operator!=(PageId const& lhs, PageId const& rhs)
{
return !(lhs == rhs);
}
bool operator<(PageId const& lhs, PageId const& rhs)
{
if (lhs.imageId() < rhs.imageId()) {
return true;
} else if (rhs.imageId() < lhs.imageId()) {
return false;
} else {
return lhs.subPage() < rhs.subPage();
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mirrors_anthonyfok/scantailor.git
[email protected]:mirrors_anthonyfok/scantailor.git
mirrors_anthonyfok
scantailor
scantailor
master

搜索帮助