Files
gpac/modules/directfb_out/directfb_out.h
jeanlf c18349ea27 Deprecate GF_Terminal and code reorganization
- remove terminal.c and related includes
- removed mp4client, osmo4ios, Osmo4 Android and MP4Box android
- added old mp4client features in gpac -mp4c
- iOS build now uses gpac directly
- added GPAC android (GUI, MP4Box and gpac command line) and cleanup android build
- fixed threading issues in android (audio, mediacodec)
- prevent JSRuntime destruction for android
- added display orientation handling for mobile devices
- fixed potential gl shader setup bug on iOS and android
- mobile camera support through libavdevice
- fixed bugs dealing with ttc font collection
- inspect filter can now dump to GPAC log system
2022-05-13 11:05:56 +02:00

75 lines
3.0 KiB
C
Executable File

/*
* GPAC Multimedia Framework
*
* Authors: Romain Bouqueau - Jean Le Feuvre
* Copyright (c) Telecom ParisTech 2010-2012
* All rights reserved
*
* This file is part of GPAC / DirectFB video output module
*
* GPAC is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* GPAC is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; see the file COPYING. If not, write to
* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
#ifndef _DIRECTFB_OUT_H_
#define _DIRECTFB_OUT_H_
typedef struct __DirectFBVidCtx DirectFBVidCtx;
typedef enum {
WINDOW_X11 = 0,
WINDOW_SDL,
WINDOW_VNC,
WINDOW_OSX,
WINDOW_FBDEV,
WINDOW_DEVMEM,
} WINDOW_MODE;
typedef enum {
FLIP_SWAP = 1,
FLIP_WAITFORSYNC = 1 << 1,
FLIP_WAIT = 1 << 2,
FLIP_ONSYNC = 1 << 3,
} FLIP_MODE;
#ifndef Bool
#define Bool u32
#endif
u32 DirectFBVid_TranslatePixelFormatToGPAC(u32 dfbpf);
u32 DirectFBVid_TranslatePixelFormatFromGPAC(u32 gpacpf);
size_t DirectFBVid_GetCtxSizeOf(void);
void DirectFBVid_InitAndCreateSurface(DirectFBVidCtx *ctx, char *dfb_system);
void DirectFBVid_CtxSetFlipMode(DirectFBVidCtx *ctx, FLIP_MODE flip_mode);
void DirectFBVid_CtxPrimaryProcessGetAccelerationMask(DirectFBVidCtx *ctx);
u32 DirectFBVid_ProcessMessageQueueWrapper(DirectFBVidCtx *ctx, u8 *type, u32 *flags, u32 *key_code, s32 *x, s32 *y, u32 *button);
void DirectFBVid_DrawHLineWrapper(DirectFBVidCtx *ctx, u32 x, u32 y, u32 length, u8 r, u8 g, u8 b);
void DirectFBVid_DrawHLineAlphaWrapper(DirectFBVidCtx *ctx, u32 x, u32 y, u32 length, u8 r, u8 g, u8 b, u8 alpha);
void DirectFBVid_DrawRectangleWrapper(DirectFBVidCtx *ctx, u32 x, u32 y, u32 width, u32 height, u8 r, u8 g, u8 b, u8 a);
u32 DirectFBVid_CtxPrimaryLock(DirectFBVidCtx *ctx, void **buf, u32 *pitch);
void DirectFBVid_CtxPrimaryUnlock(DirectFBVidCtx *ctx);
u32 DirectFBVid_CtxGetWidth(DirectFBVidCtx *ctx);
u32 DirectFBVid_CtxGetHeight(DirectFBVidCtx *ctx);
void *DirectFBVid_CtxGetPrimary(DirectFBVidCtx *ctx);
u32 DirectFBVid_CtxGetPixelFormat(DirectFBVidCtx *ctx);
Bool DirectFBVid_CtxIsHwMemory(DirectFBVidCtx *ctx);
u32 DirectFBVid_CtxPrimaryFlip(DirectFBVidCtx *ctx);
void DirectFBVid_CtxSetIsInit(DirectFBVidCtx *ctx, Bool val);
u32 DirectFBVid_ShutdownWrapper(DirectFBVidCtx *ctx);
u32 DirectFBVid_BlitWrapper(DirectFBVidCtx *ctx, u32 video_src_width, u32 video_src_height, u32 video_src_pixel_format, char *video_src_buffer, s32 video_src_pitch_y, u32 src_wnd_x, u32 src_wnd_y, u32 src_wnd_w, u32 src_wnd_h, u32 dst_wnd_x, u32 dst_wnd_y, u32 dst_wnd_w, u32 dst_wnd_h, u32 overlay_type);
#endif