5#include "libmythbase/mythconfig.h"
17 static int s_couleur = 0xc0c0c0c0;
18 static std::array<int,4> s_v { 2, 4, 3, 2 };
19 static std::array<int,4> s_col { 2, 4, 3, 2 };
21 enum MODE : std::uint8_t {
26 static MODE s_mode = MOD_MERVER;
27 static int s_justChanged = 0;
28 static int s_cycle = 0;
30 int couleursl = s_couleur;
37 cycle10 = s_cycle / 10;
39 cycle10 = 7 - (s_cycle / 10);
42 auto *
tmp = (
unsigned char *) &couleursl;
44 for (
int i = 0; i < 4; i++) {
45 *
tmp = (*tmp) >> cycle10;
57 for (
int i = 0; i < nbpt; i += increment) {
61 if ((x < width) && (y < height) && (x > 0) && (y > 0)) {
62 int pos = x + (y * width);
70 for (
int i = 0; i < nbpt; i += increment) {
71 int x = points[i].
x & 0x7fffffff;
72 int y = points[i].
y & 0x7fffffff;
74 if ((x < width) && (y < height)) {
75 int pos = x + (y * width);
77 auto *bra = (
unsigned char *) &
back[pos];
78 auto *dra = (
unsigned char *) &data[pos];
79 auto *cra = (
unsigned char *) &couleursl;
81 for (
int j = 0; j < 4; j++) {
96 s_col[
ALPHA] = s_couleur >> (
ALPHA * 8) & 0xff;
97 s_col[
BLEU] = s_couleur >> (
BLEU * 8) & 0xff;
98 s_col[
VERT] = s_couleur >> (
VERT * 8) & 0xff;
99 s_col[
ROUGE] = s_couleur >> (
ROUGE * 8) & 0xff;
101 if (s_mode == MOD_MER) {
103 if (s_col[
BLEU] > 255) {
107 if (s_col[
BLEU] < 32) {
113 if (s_col[
VERT] > 200) {
121 if (s_col[
VERT] < 32) {
127 if (s_col[
ROUGE] > 64) {
131 if (s_col[
ROUGE] < 0) {
137 if (s_col[
ALPHA] > 0) {
141 if (s_col[
ALPHA] < 0) {
148 && (
RAND () % 20 == 0)) && (s_justChanged < 0)) {
149 s_mode = (
RAND () % 3) ? MOD_FEU : MOD_MERVER;
153 else if (s_mode == MOD_MERVER) {
155 if (s_col[
BLEU] > 128) {
159 if (s_col[
BLEU] < 16) {
165 if (s_col[
VERT] > 200) {
173 if (s_col[
VERT] < 32) {
179 if (s_col[
ROUGE] > 128) {
183 if (s_col[
ROUGE] < 0) {
189 if (s_col[
ALPHA] > 255) {
193 if (s_col[
ALPHA] < 0) {
200 && (
RAND () % 20 == 0)) && (s_justChanged < 0)) {
201 s_mode = (
RAND () % 3) ? MOD_FEU : MOD_MER;
205 else if (s_mode == MOD_FEU) {
208 if (s_col[
BLEU] > 64) {
212 if (s_col[
BLEU] < 0) {
218 if (s_col[
VERT] > 200) {
228 if (s_col[
VERT] < 0) {
234 if (s_col[
ROUGE] > 255) {
242 if (s_col[
ROUGE] < 0) {
248 if (s_col[
ALPHA] > 0) {
252 if (s_col[
ALPHA] < 0) {
258 && (s_col[
BLEU] > 32)
259 && (
RAND () % 20 == 0)) && (s_justChanged < 0)) {
260 s_mode = (
RAND () % 2) ? MOD_MER : MOD_MERVER;
#define ROUGE
position des composantes
IFSPoint * draw_ifs(int *nbPoints)
void ifs_update(guint32 *data, const guint32 *back, int width, int height, int increment)
#define punpckldq_r2r(regs, regd)
#define paddusb_r2r(regs, regd)
#define movd_r2m(reg, var)
#define movd_m2r(var, reg)