void
StickyScrollContainer::PositionContinuations(nsIFrame* aFrame)
{
  NS_ASSERTION(nsLayoutUtils::IsFirstContinuationOrIBSplitSibling(aFrame),
               "Should be starting from the first continuation");
  nsPoint translation = ComputePosition(aFrame) - aFrame->GetNormalPosition();

  // Move all continuation frames by the same amount.
  for (nsIFrame* cont = aFrame; cont;
       cont = nsLayoutUtils::GetNextContinuationOrIBSplitSibling(cont)) {
    cont->SetPosition(cont->GetNormalPosition() + translation);
  }
}
Tile::Tile(unsigned int row, unsigned int col, unsigned int pCol, TerrainType terrain)
	: m_terrain(terrain)
	, m_type(NOTHING)
	, m_position(col, row)
	, m_pheromone(0.1f)
	, m_weight(ComputeWeight(terrain))
{
	m_shape.setRadius(m_ShapeRadius);
	m_shape.setPointCount(6);
	m_shape.setPosition(ComputePosition(row, pCol));
	m_shape.setOrigin(m_ShapeRadius, m_ShapeRadius);
	m_shape.setFillColor(ComputeColor(terrain));
	m_shape.setOutlineColor(sf::Color::Blue);
}
void BitmapString::InsertChar(char character, int position)
{
	position = GetRealPosition(position);

	sf::Sprite sprite;
	sprite.SetImage(font_->GetImage());
	sprite.SetSubRect(font_->GetCharRect(character));
	sprite.SetColor(GetColor());
	sprite.SetX(position * char_width_);

	chars_.insert(position, 1, character);
	bitmaps_.insert(bitmaps_.begin() + position, sprite);
	ComputePosition(position + 1);
}
void BitmapString::RemoveChar(int position)
{
	if (chars_.empty())
	{
		return;
	}

	position = GetRealPosition(position);
	if (position > (int) chars_.size() - 1)
	{
		position = chars_.size() - 1;
	}

	chars_.erase(position, 1);
	bitmaps_.erase(bitmaps_.begin() + position);
	ComputePosition(position);
}