Mercurial > mplayer.hg
view loader/dmo/dmo.h @ 32761:3ceeb62a1125
Improve the readability of dynamic labels which scroll.
If the text of a dynamic label to be displayed is wider than the given
length, it will be scrolled. Currently such a label starts scrolling
immediately after it is placed and - even more unpleasant - the start of the
text is randomly somewhere within the specified space of the label. Both
makes it hard to track and to read.
Now such a dynamic label starts left-aligned and begins scrolling through the
specified space only after a short delay (2.5 seconds). Every time the start
of the text nears the left margin again during the scrolling process it will
stop and everything starts all over again, i.e. scrolling after a short
delay.
author | ib |
---|---|
date | Thu, 03 Feb 2011 14:44:46 +0000 |
parents | 008338d7679f |
children |
line wrap: on
line source
#ifndef MPLAYER_DMO_H #define MPLAYER_DMO_H /* * * Definition of important DMO interfaces. * Created using freely-available DirectX 8.1 SDK * ( http://msdn.microsoft.com ) * */ #include "loader/dshow/iunk.h" #include "loader/dshow/guids.h" typedef AM_MEDIA_TYPE DMO_MEDIA_TYPE; enum DMO_INPUT_DATA_BUFFER_FLAGS { DMO_INPUT_DATA_BUFFERF_SYNCPOINT = 0x1, DMO_INPUT_DATA_BUFFERF_TIME = 0x2, DMO_INPUT_DATA_BUFFERF_TIMELENGTH = 0x4 }; enum DMO_OUTPUT_DATA_BUFFER_FLAGS { DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT = 0x1, DMO_OUTPUT_DATA_BUFFERF_TIME = 0x2, DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH = 0x4, DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE = 0x1000000 }; enum DMO_INPUT_STATUS_FLAGS { DMO_INPUT_STATUSF_ACCEPT_DATA = 0x1 }; enum DMO_INPUT_STREAM_INFO_FLAGS { DMO_INPUT_STREAMF_WHOLE_SAMPLES = 0x1, DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2, DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4, DMO_INPUT_STREAMF_HOLDS_BUFFERS = 0x8 }; enum DMO_OUTPUT_STREAM_INFO_FLAGS { DMO_OUTPUT_STREAMF_WHOLE_SAMPLES = 0x1, DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2, DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4, DMO_OUTPUT_STREAMF_DISCARDABLE = 0x8, DMO_OUTPUT_STREAMF_OPTIONAL = 0x10 }; enum DMO_SET_TYPE_FLAGS { DMO_SET_TYPEF_TEST_ONLY = 0x1, DMO_SET_TYPEF_CLEAR = 0x2 }; enum DMO_PROCESS_OUTPUT_FLAGS { DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x1 }; enum DMO_VIDEO_OUTPUT_STREAM_FLAGS { DMO_VOSF_NEEDS_PREVIOUS_SAMPLE = 0x1 }; /* MediaErr.h */ #define DMO_E_INVALIDSTREAMINDEX 0x80040201 #define DMO_E_INVALIDTYPE 0x80040202 #define DMO_E_TYPE_NOT_SET 0x80040203 #define DMO_E_NOTACCEPTING 0x80040204 #define DMO_E_TYPE_NOT_ACCEPTED 0x80040205 #define DMO_E_NO_MORE_ITEMS 0x80040206 #endif /* MPLAYER_DMO_H */