From 7fe60435bce6595a9c58a9bfd8244d74b5320e96 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Tue, 15 Jan 2013 08:46:13 +0100 Subject: Import DirectFB141_2k11R3_beta5 --- Source/DirectFB/src/misc/conf.h | 287 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 287 insertions(+) create mode 100755 Source/DirectFB/src/misc/conf.h (limited to 'Source/DirectFB/src/misc/conf.h') diff --git a/Source/DirectFB/src/misc/conf.h b/Source/DirectFB/src/misc/conf.h new file mode 100755 index 0000000..49b5e9a --- /dev/null +++ b/Source/DirectFB/src/misc/conf.h @@ -0,0 +1,287 @@ +/* + (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org) + (c) Copyright 2000-2004 Convergence (integrated media) GmbH + + All rights reserved. + + Written by Denis Oliver Kropp , + Andreas Hundt , + Sven Neumann , + Ville Syrjälä and + Claudio Ciccani . + + This library 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 of the License, or (at your option) any later version. + + This library 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; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. +*/ + +#ifndef __CONF_H__ +#define __CONF_H__ + +#include + +#include +#include +#include + +#include + + +typedef struct { + bool init; + + DFBDisplayLayerConfig config; + DFBColor src_key; + int src_key_index; + + struct { + DFBDisplayLayerBackgroundMode mode; + DFBColor color; + int color_index; + char *filename; + } background; + + DFBWindowStackingClass stacking; + + DFBColor *palette; + bool palette_set; + + int rotate; +} DFBConfigLayer; + +typedef enum { + DCWF_NONE = 0x00000000, + + DCWF_CREATE_SURFACE = 0x00000001, + DCWF_CREATE_WINDOW = 0x00000002, + + DCWF_ALLOCATE_BUFFER = 0x00000010, + + DCWF_ALL = 0x00000013, +} DFBConfigWarnFlags; + +typedef struct +{ + bool mouse_motion_compression; /* use motion compression? */ + char *mouse_protocol; /* mouse protocol */ + char *mouse_source; /* mouse source device name */ + bool mouse_gpm_source; /* mouse source is gpm? */ + + int window_policy; /* swapping policy for the + surface of a window */ + int buffer_mode; /* default buffer mode for + primary layer */ + + bool pollvsync_after; + bool pollvsync_none; + + bool software_only; /* disable hardware acceleration */ + bool hardware_only; /* disable software fallbacks */ + + bool mmx; /* mmx support */ + + bool banner; /* startup banner */ + + bool force_windowed; /* prohibit exclusive modes */ + + bool deinit_check; + + bool vt_switch; /* allocate a new VT */ + int vt_num; /* number of TTY to use or -1 + if the default */ + bool kd_graphics; /* put terminal into graphics + mode */ + + DFBScreenEncoderTVStandards matrox_tv_std; /* Matrox TV standard */ + int matrox_cable; /* Matrox cable type */ + bool matrox_sgram; /* Use Matrox SGRAM features */ + bool matrox_crtc2; /* Experimental CRTC2 stuff */ + + bool sync; /* Do sync() in core_init() */ + bool vt_switching; /* Allow VT switching by + pressing Ctrl+Alt+ */ + + char *fb_device; /* Used framebuffer device, + e.g. "/dev/fb0" */ + + struct { + int bus; /* PCI Bus */ + int dev; /* PCI Device */ + int func; /* PCI Function */ + } pci; + + bool lefty; /* Left handed mouse, swaps + left/right mouse buttons */ + bool no_cursor; /* Never create a cursor */ + bool translucent_windows; /* Allow translucent + windows */ + + struct { + int width; /* primary layer width */ + int height; /* primary layer height */ + int depth; /* primary layer depth */ + DFBSurfacePixelFormat format; /* primary layer format */ + } mode; + + struct { + int width; /* scaled window width */ + int height; /* scaled window height */ + } scaled; + + int videoram_limit; /* limit amount of video + memory used by DirectFB */ + + char *screenshot_dir; /* dump screen content into + this directory */ + + char *system; /* FBDev, SDL, etc. */ + + bool capslock_meta; /* map CapsLock -> Meta */ + + bool block_all_signals; /* block all signals */ + + int session; /* select multi app world */ + + int primary_layer; /* select alternative primary + display layer */ + + bool force_desktop; /* Desktop background is + the primary surface. */ + + bool linux_input_ir_only; /* Ignore non-IR devices. */ + + struct { + char *host; /* Remote host to connect to. */ + int session; /* Remote session number. */ + } remote; + + char *wm; /* Window manager to use. */ + + bool vt; /* Use VT stuff at all? */ + + bool decorations; /* Enable window decorations. */ + + DFBSurfacePixelFormat font_format; /* Preferred font format. */ + + char *h3600_device; /* H3600 Touchscreen Device */ + + char *mut_device; /* MuTouch Device */ + + char *penmount_device; /* PenMount Device */ + + char *zytronic_device; /* Zytronic Device */ + + char *elo_device; /* elo Device */ + + int unichrome_revision; /* Unichrome hardware + revision number override */ + + bool dma; /* Enable DMA */ + + int agp; /* AGP mode */ + int agpmem_limit; /* Limit of AGP memory + used by DirectFB */ + bool i8xx_overlay_pipe_b; /* video overlay output via pixel pipe B */ + bool primary_only; /* tell application only about primary layer */ + + bool thrifty_surface_buffers; /* don't keep system instance while video instance is alive */ + bool surface_sentinel; + + DFBConfigLayer layers[MAX_LAYERS]; + DFBConfigLayer *config_layer; + + DFBSurfaceRenderOptions render_options; /* default render options */ + + bool startstop; /* Issue StartDrawing/StopDrawing to driver */ + + unsigned long video_phys; /* Physical base address of video memory */ + unsigned int video_length; /* Size of video memory */ + unsigned long mmio_phys; /* Physical base address of MMIO area */ + unsigned int mmio_length; /* Size of MMIO area */ + int accelerator; /* Accelerator ID */ + + bool font_premult; /* Use premultiplied data in case of ARGB glyph images */ + + FusionVector linux_input_devices; + FusionVector tslib_devices; + + bool thread_block_signals; /* Call direct_signals_block_all() in direct_thread_main() startup. */ + + bool linux_input_grab; /* Grab input devices. */ + + bool autoflip_window; /* If primary surface is non-flipping, but windowed, flip automatically. */ + bool software_warn; /* Show warnings when doing/dropping software operations. */ + + int surface_shmpool_size; /* Set the size of the shared memory pool used for + shared system memory surfaces. */ + + bool no_cursor_updates; /* Never show the cursor etc. */ + + struct { + DFBConfigWarnFlags flags; /* Warn on various actions as window/surface creation. */ + + struct { + DFBDimension min_size; + } create_surface; + + struct { + DFBDimension min_size; + } allocate_buffer; + } warn; + + int keep_accumulators; /* Free accumulators above this limit */ + + bool software_trace; + + unsigned int max_axis_rate; + + unsigned int flip_notify_max_latency; + + DFBWindowCursorFlags default_cursor_flags; + + bool discard_repeat_events; +} DFBConfig; + +extern DFBConfig *dfb_config; + +/* + * Allocate Config struct, fill with defaults and parse command line options + * for overrides. Options identified as DirectFB options are stripped out + * of the array. + */ +DFBResult dfb_config_init( int *argc, char *(*argv[]) ); + +/* + * Read configuration options from file. Called by config_init(). + * + * Returns DFB_IO if config file could not be opened. + * Returns DFB_UNSUPPORTED if file contains an invalid option. + * Returns DFB_INVARG if an invalid option assignment is done, + * e.g. "--desktop-buffer-mode=somethingwrong". + */ +DFBResult dfb_config_read( const char *filename ); + + +/* + * Set indiviual option. Used by config_init(), config_read() and + * DirectFBSetOption() + */ +DFBResult dfb_config_set( const char *name, const char *value ); + +const char *dfb_config_usage( void ); + +DFBSurfacePixelFormat dfb_config_parse_pixelformat( const char *format ); + +#endif + -- cgit