extern void LSQ_DeleteGivenElement(LSQ_IteratorT iterator) 
{
	IteratorT * iter = (IteratorT *)iterator;
    ArrayDataT * array_data = NULL;
	int is_container_empty_enough, new_size = LSQ_ARRAY_BASE_PHYS_SIZE;

    if (!LSQ_IsIteratorDereferencable(iterator))
    {
        return;
    }
	array_data = iter->array_data;
	array_data->logical_size--;
	memmove(array_data->data_ptr + iter->index, 
			array_data->data_ptr + iter->index + 1, 
			sizeof(LSQ_BaseTypeT) * (array_data->logical_size - iter->index));
	is_container_empty_enough = array_data->logical_size <= array_data->physical_size * SIZE_RATIO_LOWER_THRESHOLD;
	if (is_container_empty_enough)
	{
		new_size = array_data->physical_size / PHYS_SIZE_CHANGE_FACTOR;
		if (array_data->physical_size == 0)
			new_size = LSQ_ARRAY_BASE_PHYS_SIZE;
		setContainerSize(array_data, new_size);
	}
}
extern void LSQ_InsertElementBeforeGiven(LSQ_IteratorT iterator, LSQ_BaseTypeT newElement)
{
	IteratorT * iter = (IteratorT *)iterator;
    ArrayDataT * array_data = NULL;
	int * element_ptr = NULL;

    if (IS_HANDLE_INVALID(iterator))
    {
        return;
    }
	array_data = iter->array_data;
	if (isContainerFull(array_data))
	{
		int new_size = LSQ_ARRAY_BASE_PHYS_SIZE;
		new_size = array_data->physical_size * PHYS_SIZE_CHANGE_FACTOR;
		setContainerSize(array_data, new_size);
	}
	array_data->logical_size++;
	memmove(array_data->data_ptr + iter->index + 1, 
			array_data->data_ptr + iter->index , 
			sizeof(LSQ_BaseTypeT) * (array_data->logical_size - iter->index - 1));
	element_ptr = array_data->data_ptr + iter->index; 
	*(element_ptr) = newElement;
}
NamedImageGeneratedImage::NamedImageGeneratedImage(String name, const FloatSize& size)
    : m_name(name)
{
    setContainerSize(size);
}
Example #4
0
GradientImage::GradientImage(PassRefPtr<Gradient> generator, const FloatSize& size)
    : m_gradient(generator)
{
    setContainerSize(size);
}
Example #5
0
//-----------------------------------------------------------------------------
void CScrollView::setViewSize (const CRect &rect, bool invalid)
{
	CViewContainer::setViewSize (rect, invalid);
	setContainerSize (containerSize, true);
}