示例#1
0
FbModel * FbExportDlg::CreateModel(int author, const wxString &structure)
{
	FbExportTreeModel * model = new FbExportTreeModel(m_selections, structure, author);
	ChangeFormat(model);
	model->Create();
	return model;
}
示例#2
0
void FbExportDlg::OnChangeFormat( wxCommandEvent& event )
{
	if (FbExportTreeModel * model = wxDynamicCast(m_books->GetModel(), FbExportTreeModel))  {
		ChangeFormat(model);
		model->Create();
		m_books->Refresh();
	}
}
示例#3
0
// If *pptex's current format has less than 4 bits of alpha, change
// it to a similar format that has at least 4 bits of alpha.
HRESULT CDxtexDoc::EnsureAlpha(LPDIRECT3DBASETEXTURE9* pptex)
{
    HRESULT hr;
    D3DFORMAT fmtCur = GetFormat(*pptex);
    D3DFORMAT fmtNew = D3DFMT_UNKNOWN;
    LPDIRECT3DBASETEXTURE9 ptex = NULL;

    switch (fmtCur)
    {
    case D3DFMT_X8R8G8B8:
    case D3DFMT_R8G8B8:
        fmtNew = D3DFMT_A8R8G8B8;
        break;

    case D3DFMT_X1R5G5B5:
    case D3DFMT_R5G6B5:
        fmtNew = D3DFMT_A1R5G5B5;
        break;

    case D3DFMT_X8B8G8R8:
        fmtNew = D3DFMT_A8B8G8R8;
        break;

    case D3DFMT_L8:
        fmtNew = D3DFMT_A8L8;
        break;

    default:
        break;
    }

    if( fmtNew != D3DFMT_UNKNOWN )
    {
        if (FAILED(hr = ChangeFormat(m_ptexOrig, fmtNew, &ptex)))
            return hr;
        ReleasePpo(&m_ptexOrig);
        m_ptexOrig = ptex;
    }

    return S_OK;
}
示例#4
0
HRESULT CDxtexDoc::Compress(D3DFORMAT fmtTo, BOOL bSwitchView)
{
    HRESULT hr;
    LPDIRECT3DBASETEXTURE9 ptexNew = NULL;

    if (FAILED(hr = ChangeFormat(m_ptexOrig, fmtTo, &ptexNew)))
        return hr;

    ReleasePpo(&m_ptexNew);
    m_ptexNew = ptexNew;

    SetModifiedFlag();
    m_bTitleModsChanged = TRUE; // force title bar update
    if (bSwitchView)
    {
        if( AfxGetMainWnd() != NULL )
            AfxGetMainWnd()->PostMessage(WM_COMMAND, ID_VIEW_COMPRESSED, 0);
    }

    return S_OK;
}
示例#5
0
status_t
AudioProducer::FormatChangeRequested(const media_source& source,
	const media_destination& destination, media_format* ioFormat,
	int32* _deprecated_)
{
	TRACE("%p->AudioProducer::FormatChangeRequested()\n", this);

	if (destination != fOutput.destination) {
		TRACE("  -> B_MEDIA_BAD_DESTINATION\n");
		return B_MEDIA_BAD_DESTINATION;
	}

	if (source != fOutput.source) {
		TRACE("  -> B_MEDIA_BAD_SOURCE\n");
		return B_MEDIA_BAD_SOURCE;
	}

// TODO: Maybe we are supposed to specialize here only and not actually change yet?
//	status_t ret = _SpecializeFormat(ioFormat);

	return ChangeFormat(ioFormat);
}
示例#6
0
void _AudioAdapterNode::_attemptOutputFormatChange(
	const media_multi_audio_format& format) {

	// +++++
	char fmtString[256];
	media_format f;
	f.type = B_MEDIA_RAW_AUDIO;
	f.u.raw_audio = format;
	string_for_format(f, fmtString, 256);
	PRINT((
		"_AudioAdapterNode::attemptOutputFormatChange():\n  '%s'\n",
		fmtString));
	
	media_destination dest = output().destination;
	if(dest == media_destination::null) {
	PRINT((
		"! output not connected!\n"));
		return;
	}

	_AudioAdapterParams* p = dynamic_cast<_AudioAdapterParams*>(parameterSet());
	ASSERT(p);
	status_t err;
	
	// disallow wildcards
	if(format.format == media_raw_audio_format::wildcard.format ||
		format.channel_count == media_raw_audio_format::wildcard.channel_count) {
		PRINT((
			"! wildcards not allowed\n"));
		goto broadcast;
	}

	err = prepareFormatChange(f);
	if(err < B_OK)
	{
		PRINT((
			"! format not supported\n"));
		goto broadcast;
	}

	err = ProposeFormatChange(&f, dest);
	if(err < B_OK)
	{
		PRINT((
			"! format rejected\n"));
		goto broadcast;
	}

	err = ChangeFormat(
		output().source,
		dest,
		&f);
		
	if(err < B_OK) {
		PRINT(("! ChangeFormat(): %s\n", strerror(err)));
		goto broadcast;
	}

	// store new format
	p->outputFormat = format;
	
	// inform AudioFilterNode of format change
	doFormatChange(f);

broadcast:
	_broadcastOutputFormatParams();
}