Пример #1
0
    /**
     * @brief FilterDCT2D
     * @param nCoeff
     * @param bForward
     */
    FilterDCT2D(int nCoeff, bool bForward)
    {
        //DCT 1D filter
        fltDCT1D = new FilterDCT1D(nCoeff, bForward);

        InsertFilter(fltDCT1D);
        InsertFilter(fltDCT1D);
    }
Пример #2
0
FilterGLBilateral2DSP::FilterGLBilateral2DSP(float sigma_s,
        float sigma_r): FilterGLNPasses()
{
    target = GL_TEXTURE_2D;

    filter = new FilterGLBilateral1D(sigma_s, sigma_r, 0, GL_TEXTURE_2D);
    InsertFilter(filter);
    InsertFilter(filter);
}
Пример #3
0
    /**
     * @brief FilterMean
     * @param size
     */
    FilterMean(int size)
    {
        data = NULL;
        this->size = -1;

        Update(size);

        filter = new FilterConv1D(data, size);

        InsertFilter(filter);
        InsertFilter(filter);
    }
Пример #4
0
void CFilterPageImpl::OnLButtonUp(UINT /*nFlags*/, CPoint point)
{
	if (!m_dragImage.IsNull())
	{
		m_dragImage.DragLeave(*this);
		m_dragImage.EndDrag();
		ReleaseCapture();
		m_dragImage.Destroy();
		m_dragCursor.reset();

		UINT flags = 0;
		int item = std::min<int>(m_grid.HitTest(point, &flags), m_filters.size() - 1);
		if (item >= 0 && item < static_cast<int>(m_filters.size()))
		{
			auto filter = GetFilter(m_dragItem);
			m_grid.DeleteItem(m_dragItem);
			InsertFilter(item, filter);
		}
	}
}
Пример #5
0
void CFilterPageImpl::AddFilter(const Filter& filter)
{
	InsertFilter(m_grid.GetItemCount(), filter);
}