コード例 #1
0
ファイル: tpalette.cpp プロジェクト: hvfrancesco/opentoonz
void TPalette::movePage(Page *page, int dstPageIndex) {
  assert(page);
  assert(page->m_palette == this);
  dstPageIndex = tcrop(dstPageIndex, 0, getPageCount() - 1);
  if (dstPageIndex == page->getIndex()) return;
  m_pages.erase(m_pages.begin() + page->getIndex());
  m_pages.insert(m_pages.begin() + dstPageIndex, page);
  for (int i = 0; i < getPageCount(); i++) m_pages[i]->m_index = i;
  assert(page->getIndex() == dstPageIndex);
}
コード例 #2
0
ファイル: tpalette.cpp プロジェクト: hvfrancesco/opentoonz
TPalette::Page *TPalette::addPage(std::wstring name) {
  Page *page      = new Page(name);
  page->m_index   = getPageCount();
  page->m_palette = this;
  m_pages.push_back(page);
  return page;
}
コード例 #3
0
ファイル: tpalette.cpp プロジェクト: hvfrancesco/opentoonz
const TPalette::Page *TPalette::getPage(int pageIndex) const {
  if (0 <= pageIndex && pageIndex < getPageCount()) {
    Page *page = m_pages[pageIndex];
    assert(page->getIndex() == pageIndex);
    assert(page->m_palette == this);
    return page;
  } else
    return 0;
}
コード例 #4
0
CaDcdGrid_PageSelector& CaDcdGrid_PageSelector::setPage( int value ) 
{
	if ( value == INT_MAX ){
		value = getPageCount() - 1 ;
	}
	if ( value >= getPageCount() ){
		value = getPageCount() - 1 ;
	}
	if ( value < 0 ){
		value = 0 ;
	}
	
	int iYPage = value / m_contiXFixafterColumnNumber.size() ;
	int iXPage = value % m_contiXFixafterColumnNumber.size() ;
	
	setYPage( iYPage ) ;
	setXPage( iXPage ) ;
	
	return *this ;
}
コード例 #5
0
ファイル: tpalette.cpp プロジェクト: hvfrancesco/opentoonz
void TPalette::erasePage(int index) {
  Page *page = getPage(index);
  if (!page) return;
  m_pages.erase(m_pages.begin() + index);
  int i;
  for (i = 0; i < getPageCount(); i++) m_pages[i]->m_index = i;
  for (i                                = 0; i < page->getStyleCount(); i++)
    m_styles[page->getStyleId(i)].first = 0;
  page->m_palette                       = 0;
  delete page;
}
コード例 #6
0
ファイル: TableView.cpp プロジェクト: wjezxujian/Android_VS
uint32_t TableView::getPageIndex()
{
	uint32_t _pageCnt = getPageCount();
	uint32_t _pageIdx = 0;
	auto _offset = getContentOffset();
	if (m_scrollDirection == ScrollDirection::HORIZONTAL)
	{
		auto _realX = _offset.x * m_container->getContentSize().width;
		auto _pageTotalWidth = _pageCnt * getCellTotalWidth() * m_columnCnt;
		_pageIdx = _realX / _pageTotalWidth * _pageCnt;
	}
	else
	{
		auto _realY = (1.f - _offset.y) * m_container->getContentSize().height;
		auto _pageTotalHeight = _pageCnt * getCellTotalHeight() * m_rowCnt;
		_pageIdx = _realY / _pageTotalHeight * _pageCnt;
	}
	_pageIdx = MIN(MAX(_pageIdx, 0), _pageCnt - 1);
	return _pageIdx;
}
コード例 #7
0
ファイル: TableView.cpp プロジェクト: wjezxujian/Android_VS
void TableView::pageTo(uint32_t pageIndex, bool withAnimate, float speed)
{
	uint32_t _pageCnt = getPageCount();
	uint32_t _pageIdx = getPageIndex();
	if (pageIndex > _pageCnt - 1)
	{
		return;
	}

	int _pageDelta = pageIndex - _pageIdx;

	Vec2 _offset;
	if (m_scrollDirection == ScrollDirection::HORIZONTAL)
	{
		_offset.x = -_pageDelta * getContentSize().width;
	}
	else
	{
		_offset.y = _pageDelta * getContentSize().height;
	}
	ScrollView::scrollTo(_offset, withAnimate, speed);
}