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
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
|