display_vrdp.cpp revision 5a96feeef6545e3b78a0e84669406a9ee2c8da2f
/* $Id$ */
/** @file
* Presenter API: CrFbDisplayVrdp class implementation -- display content over VRDP.
*/
/*
* Copyright (C) 2014 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*/
#include "server_presenter.h"
{
}
{
if (!RT_SUCCESS(rc))
{
return rc;
}
if (!RT_SUCCESS(rc))
{
return rc;
}
return VINF_SUCCESS;
}
int CrFbDisplayVrdp::EntryReplaced(struct CR_FRAMEBUFFER *pFb, HCR_FRAMEBUFFER_ENTRY hNewEntry, HCR_FRAMEBUFFER_ENTRY hReplacedEntry)
{
if (!RT_SUCCESS(rc))
{
WARN(("err"));
return rc;
}
if (RT_SUCCESS(rc))
{
}
else
return rc;
}
{
if (!RT_SUCCESS(rc))
{
WARN(("err"));
return rc;
}
if (RT_SUCCESS(rc))
{
}
else
return rc;
}
{
if (!RT_SUCCESS(rc))
{
WARN(("err"));
return rc;
}
}
{
if (!RT_SUCCESS(rc))
{
WARN(("err"));
return rc;
}
return VINF_SUCCESS;
}
{
if (!RT_SUCCESS(rc))
{
WARN(("err"));
return rc;
}
return VINF_SUCCESS;
}
{
if (!RT_SUCCESS(rc))
{
WARN(("err"));
return rc;
}
return vrdpRegionsAll(pFb);
}
{
if (!RT_SUCCESS(rc))
{
WARN(("err"));
return rc;
}
syncPos();
if (!RT_SUCCESS(rc))
{
WARN(("err"));
return rc;
}
return vrdpRegionsAll(pFb);
}
void CrFbDisplayVrdp::syncPos()
{
}
int CrFbDisplayVrdp::fbCleanup()
{
int rc = fbCleanupRemoveAllEntries();
if (!RT_SUCCESS(rc))
{
WARN(("err"));
return rc;
}
return CrFbDisplayBase::fbCleanup();
}
int CrFbDisplayVrdp::fbSync()
{
syncPos();
int rc = fbSynchAddAllEntries();
if (!RT_SUCCESS(rc))
{
WARN(("err"));
return rc;
}
return CrFbDisplayBase::fbSync();
}
{
}
{
}
{
if (!RT_SUCCESS(rc))
{
return rc;
}
return VINF_SUCCESS;
}
{
const CR_BLITTER_IMG *pImg;
int rc = CrTdBltDataAcquire(pTex, GL_BGRA, !!(CrVrScrCompositorEntryFlagsGet(pEntry) & CRBLT_F_INVERT_SRC_YCOORDS), &pImg);
if (!RT_SUCCESS(rc))
{
return rc;
}
return VINF_SUCCESS;
}
{
const VBOXVR_SCR_COMPOSITOR_ENTRY *pEntry;
{
}
return VINF_SUCCESS;
}
{
}
{
const VBOXVR_SCR_COMPOSITOR_ENTRY *pEntry;
{
if (!RT_SUCCESS(rc))
{
return rc;
}
}
return VINF_SUCCESS;
}
{
void *pVrdp;
/* Query supported formats. */
if (!pachFormats)
{
WARN(("crAlloc failed"));
return VERR_NO_MEMORY;
}
0 /* H3DOR_PROP_FORMATS */, // @todo from a header
if (RT_SUCCESS(rc))
{
{
&pVrdp,
"H3DOR_FMT_RGBA_TOPDOWN"); // @todo from a header
if (pVrdp)
{
if (RT_SUCCESS(rc))
{
//vrdpFrame(hEntry);
return VINF_SUCCESS;
}
else
}
else
{
WARN(("CRORBegin failed"));
}
}
}
else
return rc;
}