You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.4 KiB

/*
* Copyright (c) Hisilicon Technologies Co., Ltd. 2012-2019. All rights reserved.
* Description: API of DTV client implement.
* Author: DTV stack software group
* Create: 2012-09-18
*/
#ifndef IMPL_DTVCLIENT_H
#define IMPL_DTVCLIENT_H
#include "svr_type.h"
using namespace android;
typedef struct {
unsigned char *pServerBase;
unsigned char *pHalBase;
unsigned int u32WritePos;
unsigned int u32ReadPos;
} CaptionBufferAttrs;
class ImplDTVClient {
public:
ImplDTVClient();
~ImplDTVClient();
SVR_BOOL DoInClient(const Parcel &request, Parcel *reply);
SVR_BOOL DoInNotify(SVR_S32 msg, SVR_S32 ext1, SVR_S32 ext2, SVR_S32 ext3, const Parcel *parcelObj, Parcel *reply);
SVR_S32 DoSetSurface(SVR_VOID *spSurface, int width, int height);
SVR_S32 DoSideband(const Parcel &request);
SVR_S32 ClearSideband(const Parcel &request);
private:
SVR_S32 Blit(const Parcel *parcelObj, SVR_HANDLE srcSurface, SVR_HANDLE dstSurface);
SVR_S32 GetTextSize(const Parcel *parcelObj, SVR_U32 *width, SVR_U32 *height);
SVR_S32 DrawText(const Parcel *parcelObj, SVR_HANDLE surface);
SVR_S32 DrawBitmap(const Parcel *parcelObj, SVR_HANDLE surface, SVR_U32 canvasWidth, SVR_U32 canvasHeight);
SVR_S32 DrawCCPreviewText(const Parcel *parcelObj);
SVR_S32 ClearCCPreviewText();
Mutex mSurfaceLock;
};
#endif // IMPL_DTVCLIENT_H