mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Added cPalette::AllColors() for plugins that need to get the color entries of a cPalette
This commit is contained in:
parent
c6ed4da7a0
commit
e63b279d96
2
HISTORY
2
HISTORY
@ -1423,3 +1423,5 @@ Video Disk Recorder Revision History
|
|||||||
Zimmermann).
|
Zimmermann).
|
||||||
- Added cDevice::NewOsd() to allow a derived cDevice class to implement its own
|
- Added cDevice::NewOsd() to allow a derived cDevice class to implement its own
|
||||||
OSD capabilities (thanks to Andreas Schultz).
|
OSD capabilities (thanks to Andreas Schultz).
|
||||||
|
- Added cPalette::AllColors() for plugins that need to get the color entries of
|
||||||
|
a cPalette (see osdbase.h).
|
||||||
|
4
dvbosd.c
4
dvbosd.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: dvbosd.c 1.18 2002/08/04 10:13:21 kls Exp $
|
* $Id: dvbosd.c 1.19 2002/08/25 09:53:51 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dvbosd.h"
|
#include "dvbosd.h"
|
||||||
@ -92,7 +92,7 @@ void cDvbOsd::CommitWindow(cWindow *Window)
|
|||||||
// commit colors:
|
// commit colors:
|
||||||
int FirstColor = 0, LastColor = 0;
|
int FirstColor = 0, LastColor = 0;
|
||||||
const eDvbColor *pal;
|
const eDvbColor *pal;
|
||||||
while ((pal = Window->Colors(FirstColor, LastColor)) != NULL)
|
while ((pal = Window->NewColors(FirstColor, LastColor)) != NULL)
|
||||||
Cmd(OSD_SetPalette, FirstColor, LastColor, 0, 0, 0, pal);
|
Cmd(OSD_SetPalette, FirstColor, LastColor, 0, 0, 0, pal);
|
||||||
// commit modified data:
|
// commit modified data:
|
||||||
Cmd(OSD_SetBlock, Window->Width(), x1, y1, x2, y2, Window->Data(x1, y1));
|
Cmd(OSD_SetBlock, Window->Width(), x1, y1, x2, y2, Window->Data(x1, y1));
|
||||||
|
10
osdbase.c
10
osdbase.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: osdbase.c 1.6 2002/08/11 11:47:21 kls Exp $
|
* $Id: osdbase.c 1.7 2002/08/25 10:02:36 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "osdbase.h"
|
#include "osdbase.h"
|
||||||
@ -74,7 +74,7 @@ void cPalette::Reset(void)
|
|||||||
full = false;
|
full = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const eDvbColor *cPalette::Colors(int &FirstColor, int &LastColor)
|
const eDvbColor *cPalette::NewColors(int &FirstColor, int &LastColor)
|
||||||
{
|
{
|
||||||
for (FirstColor = 0; FirstColor < numColors; FirstColor++) {
|
for (FirstColor = 0; FirstColor < numColors; FirstColor++) {
|
||||||
if (!fetched[FirstColor]) {
|
if (!fetched[FirstColor]) {
|
||||||
@ -87,6 +87,12 @@ const eDvbColor *cPalette::Colors(int &FirstColor, int &LastColor)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const eDvbColor *cPalette::AllColors(int &NumColors)
|
||||||
|
{
|
||||||
|
NumColors = numColors;
|
||||||
|
return numColors ? color : NULL;
|
||||||
|
}
|
||||||
|
|
||||||
void cPalette::Take(const cPalette &Palette, tIndexes *Indexes)
|
void cPalette::Take(const cPalette &Palette, tIndexes *Indexes)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < Palette.numColors; i++) {
|
for (int i = 0; i < Palette.numColors; i++) {
|
||||||
|
15
osdbase.h
15
osdbase.h
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: osdbase.h 1.4 2002/07/13 14:45:55 kls Exp $
|
* $Id: osdbase.h 1.5 2002/08/25 10:01:00 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __OSDBASE_H
|
#ifndef __OSDBASE_H
|
||||||
@ -56,7 +56,18 @@ public:
|
|||||||
cPalette(int Bpp);
|
cPalette(int Bpp);
|
||||||
int Index(eDvbColor Color);
|
int Index(eDvbColor Color);
|
||||||
void Reset(void);
|
void Reset(void);
|
||||||
const eDvbColor *Colors(int &FirstColor, int &LastColor);
|
const eDvbColor *NewColors(int &FirstColor, int &LastColor);
|
||||||
|
// With every call this function returns a consecutive range of
|
||||||
|
// color entries that have been added since the last call. The
|
||||||
|
// return value is the address of the first new color, and the
|
||||||
|
// index of the first and last new color are returned in the given
|
||||||
|
// int parameters. If there are no new color entries, NULL will
|
||||||
|
// be returned.
|
||||||
|
const eDvbColor *AllColors(int &NumColors);
|
||||||
|
// Returns a pointer to the complete color table and stores the
|
||||||
|
// number of valid entries in NumColors. If no colors have been
|
||||||
|
// stored yet, NumColors will be set to 0 and the function will
|
||||||
|
// return NULL.
|
||||||
void Take(const cPalette &Palette, tIndexes *Indexes = NULL);
|
void Take(const cPalette &Palette, tIndexes *Indexes = NULL);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user