// // ODBCGridCtrl::OnGetCellColors // bool ODBCGridCtrl::OnGetCellColors( IN int Row, IN int Col, OUT COLORREF& TextColor, OUT COLORREF& BkColor, OUT UINT8& TextStyle) const { // NOTE: this routine is called VERY often by the painting routines. keep it // as small/fast as possible! // NOTE: if you are comfortable with the default colors of the current cell, // you should return FALSE, instead of returning TRUE and leaving the // colors unchanged. this will increase drawing speed... if( mDraw.Type == CELL_SEPARATOR ) return false; // change the background of even rows if( Row % 2 == 0 && !mDraw.Selected ) { AdjustBrightness(BkColor, -15); AdjustBrightness(TextColor, 60); return true; } return (TextStyle != 0); }
void Blitter_16bppAnim::Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom) { const Pixel *src, *src_line; Colour16 *dst, *dst_line; Anim *anim, *anim_line; /* Find where to start reading in the source sprite */ src_line = (const Pixel *)bp->sprite + (bp->skip_top * bp->sprite_width + bp->skip_left) * ScaleByZoom(1, zoom); dst_line = (Colour16 *)bp->dst + bp->top * bp->pitch + bp->left; anim_line = this->anim_buf + ((Colour16 *)bp->dst - (Colour16 *)_screen.dst_ptr) + bp->top * this->anim_buf_width + bp->left; for (int y = 0; y < bp->height; y++) { dst = dst_line; dst_line += bp->pitch; src = src_line; src_line += bp->sprite_width * ScaleByZoom(1, zoom); anim = anim_line; anim_line += this->anim_buf_width; for (int x = 0; x < bp->width; x++) { switch (mode) { case BM_COLOUR_REMAP: /* In case the m-channel is zero, do not remap this pixel in any way */ anim->m = 0; anim->v = 0; if (src->m == 0) { if (src->a != 0) *dst = ComposeColourPA(src->c, src->a, *dst); } else { uint8 r = bp->remap[src->m]; if (r != 0) { *dst = ComposeColourPA(AdjustBrightness(LookupColourInPalette(r), src->v), src->a, *dst); if (src->a == 15 && r >= PALETTE_ANIM_START) { anim->m = r - PALETTE_ANIM_START + 1; anim->v = src->v >> 1; } } } break; case BM_TRANSPARENT: /* TODO -- We make an assumption here that the remap in fact is transparency, not some colour. * This is never a problem with the code we produce, but newgrfs can make it fail... or at least: * we produce a result the newgrf maker didn't expect ;) */ /* Make the current colour a bit more black, so it looks like this image is transparent */ if (src->a != 0) *dst = MakeTransparent(*dst, 192); anim->m = 0; anim->v = 0; break; default: if (src->a == 15 && src->m >= PALETTE_ANIM_START) { *dst = AdjustBrightness(LookupColourInPalette(src->m), src->v); anim->m = src->m - PALETTE_ANIM_START + 1; anim->v = src->v >> 1; } else { if (src->a != 0) {
void CycleLights() { //this is called once per second if no beats are detected CycleHue(3000); AdjustBrightness(); UpdateLights(currentBri, 0, 10); }
void Player::ProcessChannelData(void) { if (IsEffectRunning()) OverlayEffects(m_seqData); if (UsingMemoryMapInput()) OverlayMemoryMap(m_seqData); if (getControlMajor() && getControlMinor()) { char thisMajor = NormalizeControlValue(m_seqData[getControlMajor()-1]); char thisMinor = NormalizeControlValue(m_seqData[getControlMinor()-1]); if ((m_seqLastControlMajor != thisMajor) || (m_seqLastControlMinor != thisMinor)) { m_seqLastControlMajor = thisMajor; m_seqLastControlMinor = thisMinor; if (m_seqLastControlMajor && m_seqLastControlMinor) TriggerEvent(m_seqLastControlMajor, m_seqLastControlMinor); } } if (channelTester->Testing()) channelTester->OverlayTestData(m_seqData); if (m_brightness) AdjustBrightness(); }
void Triangle(double x1, double y1, double x2, double y2, double x3, double y3, GG::Clr color, bool border) { GG::Clr border_clr = color; if (border) AdjustBrightness(border_clr, 75); GG::Triangle(GG::Pt(GG::X(x1), GG::Y(y1)), GG::Pt(GG::X(x2), GG::Y(y2)), GG::Pt(GG::X(x3), GG::Y(y3)), color, border ? border_clr : GG::CLR_ZERO); }
void SlowBeatLights() { AdjustBrightness(); //figure out a good brightness increase int beatBri = (int)(currentBri * 1.25f); if (beatBri > 255) beatBri = 255; //transition the color immediately UpdateLights(beatBri, 0, 2); //fade brightness UpdateLights(5, 0, 8); //fade }
Sprite *Blitter_16bppSimple::Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator) { Pixel *dst; Sprite *dest_sprite = (Sprite *)allocator(sizeof(*dest_sprite) + (size_t)sprite->height * (size_t)sprite->width * sizeof(Pixel)); dest_sprite->height = sprite->height; dest_sprite->width = sprite->width; dest_sprite->x_offs = sprite->x_offs; dest_sprite->y_offs = sprite->y_offs; dst = (Pixel *)dest_sprite->data; SpriteLoader::CommonPixel *src = (SpriteLoader::CommonPixel *)sprite->data; for (int i = 0; i < sprite->height * sprite->width; i++) { if (src->m == 0) { dst[i].c = To16(src->r, src->g, src->b); dst[i].a = src->a / 16; dst[i].m = 0; dst[i].v = 0; } else { /* Get brightest value */ uint8 rgb_max = max(src->r, max(src->g, src->b)); #if 0 /* Pre-convert the mapping channel to a RGB value, use 32bpp AdjustBrightness() variant for better colors, because this function is not called each frame */ if (rgb_max == 0) rgb_max = Blitter_32bppBase::DEFAULT_BRIGHTNESS; dst[i].c = To16(Blitter_32bppBase::AdjustBrightness(LookupColourInPalette32(src->m), rgb_max)); dst[i].v = rgb_max / 16; #endif rgb_max /= 16; /* Black pixel (8bpp or old 32bpp image), so use default value */ if (rgb_max == 0) rgb_max = DEFAULT_BRIGHTNESS; /* Pre-convert the mapping channel to a RGB value, use 32bpp AdjustBrightness() variant for better colors, because this function is not called each frame */ dst[i].c = AdjustBrightness(LookupColourInPalette(src->m), rgb_max); dst[i].v = rgb_max; dst[i].a = src->a / 16; dst[i].m = src->m; } src++; } return dest_sprite; }
static VOID Bri_OnTrackBar(PIMAGEADJUST pImgAdj, HWND hDlg) { HDC hdcMem; DWORD TrackPos; TrackPos = (DWORD)SendDlgItemMessage(hDlg, IDC_BRI_TRACKBAR, TBM_GETPOS, 0, 0); SetDlgItemInt(hDlg, IDC_BRI_EDIT, TrackPos, FALSE); if (IsDlgButtonChecked(hDlg, IDC_BRI_FULL) == BST_CHECKED) { pImgAdj->RedVal = pImgAdj->GreenVal = pImgAdj->BlueVal = TrackPos - BASECOLOUR; } else if (IsDlgButtonChecked(hDlg, IDC_BRI_RED) == BST_CHECKED) { pImgAdj->RedVal = TrackPos - BASECOLOUR; } else if (IsDlgButtonChecked(hDlg, IDC_BRI_GREEN) == BST_CHECKED) { pImgAdj->GreenVal = TrackPos - BASECOLOUR; } else if (IsDlgButtonChecked(hDlg, IDC_BRI_BLUE) == BST_CHECKED) { pImgAdj->BlueVal = TrackPos - BASECOLOUR; } hdcMem = GetDC(pImgAdj->hPicPrev); AdjustBrightness(pImgAdj->hBitmap, pImgAdj->hPreviewBitmap, pImgAdj->hPicPrev, hdcMem, pImgAdj->RedVal, pImgAdj->GreenVal, pImgAdj->BlueVal); ReleaseDC(pImgAdj->hPicPrev, hdcMem); }
void CUI_MinRestoreButton::Render() { GG::Pt ul = UpperLeft(); GG::Pt lr = LowerRight(); GG::Clr color_to_use = ClientUI::WndInnerBorderColor(); if (State() != BN_ROLLOVER) AdjustBrightness(color_to_use, BUTTON_DIMMING_SCALE_FACTOR); if (m_mode == MIN_BUTTON) { // draw a dash to signify the minimize command GG::Y middle_y = (lr.y + ul.y) / 2; glDisable(GL_TEXTURE_2D); glColor(color_to_use); glBegin(GL_LINES); glVertex(ul.x, middle_y); glVertex(lr.x, middle_y); glEnd(); glEnable(GL_TEXTURE_2D); } else { // draw a square to signify the restore command GG::FlatRectangle(ul, lr, GG::CLR_ZERO, ClientUI::WndInnerBorderColor(), 1); } }
static BOOL Bri_OnCommand(PIMAGEADJUST pImgAdj, HWND hDlg, UINT uID) { switch (uID) { case IDOK: { HDC hdcMem; hdcMem = GetDC(pImgAdj->Info->ImageEditors->hSelf); AdjustBrightness(pImgAdj->Info->ImageEditors->hBitmap, pImgAdj->Info->ImageEditors->hBitmap, pImgAdj->Info->ImageEditors->hSelf, hdcMem, pImgAdj->RedVal, pImgAdj->GreenVal, pImgAdj->BlueVal); ReleaseDC(pImgAdj->Info->ImageEditors->hSelf, hdcMem); EndDialog(hDlg, uID); return TRUE; } case IDCANCEL: { EndDialog(hDlg, uID); return TRUE; } } return FALSE; }
/* Make the current colour a bit more black, so it looks like this image is transparent */ if (src->a != 0) *dst = MakeTransparent(*dst, 192); anim->m = 0; anim->v = 0; break; default: if (src->a == 15 && src->m >= PALETTE_ANIM_START) { *dst = AdjustBrightness(LookupColourInPalette(src->m), src->v); anim->m = src->m - PALETTE_ANIM_START + 1; anim->v = src->v >> 1; } else { if (src->a != 0) { if (src->m >= PALETTE_ANIM_START) { *dst = ComposeColourPANoCheck(AdjustBrightness(LookupColourInPalette(src->m), src->v), src->a, *dst); } else { *dst = ComposeColourPA(src->c, src->a, *dst); } } anim->m = 0; anim->v = 0; } break; } dst++; src += ScaleByZoom(1, zoom); } } }
static bool WriteVideoHeader (FILE *f_) { long lPos = WriteChunkStart(f_, "strh", "vids"); fwrite("mrle", 4, 1, f); // 'mrle' = Microsoft Run Length Encoding Video Codec WriteLittleEndianDWORD(0); // flags, unused WriteLittleEndianDWORD(0); // priority and language, unused WriteLittleEndianDWORD(0); // initial frames WriteLittleEndianDWORD(TSTATES_PER_FRAME); // scale WriteLittleEndianDWORD(REAL_TSTATES_PER_SECOND); // rate WriteLittleEndianDWORD(0); // start time WriteLittleEndianDWORD(dwVideoFrames); // total frames in stream WriteLittleEndianDWORD(lVideoMax); // suggested buffer size WriteLittleEndianDWORD(10000); // quality WriteLittleEndianDWORD(0); // sample size WriteLittleEndianWORD(0); // left WriteLittleEndianWORD(0); // top WriteLittleEndianWORD(width); // right WriteLittleEndianWORD(height); // bottom WriteChunkEnd(f_, lPos); lPos = WriteChunkStart(f_, "strf"); WriteLittleEndianDWORD(40); // sizeof(BITMAPINFOHEADER) WriteLittleEndianDWORD(width); // biWidth; WriteLittleEndianDWORD(height); // biHeight; WriteLittleEndianWORD(1); // biPlanes; WriteLittleEndianWORD(8); // biBitCount (8 = 256 colours) WriteLittleEndianDWORD(1); // biCompression (1 = BI_RLE8) WriteLittleEndianDWORD(width*height); // biSizeImage; WriteLittleEndianDWORD(0); // biXPelsPerMeter; WriteLittleEndianDWORD(0); // biYPelsPerMeter; WriteLittleEndianDWORD(256); // biClrUsed; WriteLittleEndianDWORD(0); // biClrImportant; const COLOUR *pcPal = IO::GetPalette(); int i; // The first half of the palette contains SAM colours for (i = 0 ; i < N_PALETTE_COLOURS ; i++) { // Note: colour order is BGR fputc(pcPal[i].bBlue, f); fputc(pcPal[i].bGreen, f); fputc(pcPal[i].bRed, f); fputc(0, f); // RGBQUAD has this as reserved (zero) rather than alpha } // Determine the appropriate brightness adjustment for scanlines int nScanAdjust = GetOption(scanlevel) - 100; if (nScanAdjust < -100) nScanAdjust = -100; // The second half of the palette contains colours in scanline intensity for (i = 0 ; i < N_PALETTE_COLOURS ; i++) { BYTE r = pcPal[i].bRed, g = pcPal[i].bGreen, b = pcPal[i].bBlue; AdjustBrightness(r,g,b, nScanAdjust); // Note: colour order is BGR fputc(b, f); fputc(g, f); fputc(r, f); fputc(0, f); // RGBQUAD has this as reserved (zero) rather than alpha } return WriteChunkEnd(f_, lPos) != 0; }
void Blitter_16bppSimple::Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom) { const Pixel *src, *src_line; Colour16 *dst, *dst_line; /* Find where to start reading in the source sprite */ src_line = (const Pixel *)bp->sprite + (bp->skip_top * bp->sprite_width + bp->skip_left) * ScaleByZoom(1, zoom); dst_line = (Colour16 *)bp->dst + bp->top * bp->pitch + bp->left; for (int y = 0; y < bp->height; y++) { dst = dst_line; dst_line += bp->pitch; src = src_line; src_line += bp->sprite_width * ScaleByZoom(1, zoom); for (int x = 0; x < bp->width; x++) { switch (mode) { case BM_COLOUR_REMAP: /* In case the m-channel is zero, do not remap this pixel in any way */ if (src->m == 0) { if (src->a != 0) *dst = ComposeColourPA(src->c, src->a, *dst); } else { if (bp->remap[src->m] != 0) *dst = ComposeColourPA(AdjustBrightness(LookupColourInPalette(bp->remap[src->m]), src->v), src->a, *dst); } break; case BM_CRASH_REMAP: if (src->m == 0) { if (src->a != 0) { uint8 g = MakeDark(src->c); *dst = ComposeColourRGBA(g, g, g, src->a, *dst); } } else { if (bp->remap[src->m] != 0) *dst = ComposeColourPA(AdjustBrightness(LookupColourInPalette(bp->remap[src->m]), src->v), src->a, *dst); } break; case BM_TRANSPARENT: /* TODO -- We make an assumption here that the remap in fact is transparency, not some colour. * This is never a problem with the code we produce, but newgrfs can make it fail... or at least: * we produce a result the newgrf maker didn't expect ;) */ /* Make the current colour a bit more black, so it looks like this image is transparent */ if (src->a != 0) *dst = MakeTransparent(*dst, 192); break; case BM_BLACK_REMAP: if (src->a != 0) { *dst = Colour16(0, 0, 0); } break; default: if (src->a != 0) *dst = ComposeColourPA(src->c, src->a, *dst); break; } dst++; src += ScaleByZoom(1, zoom); } } }