!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\dmz\FileZillaFTP\source\interface\misc\   drwxrwxrwx
Free 4.1 GB of 39.52 GB (10.36%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     Led.cpp (7.06 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
///////////////////////////////////////////////////////////////////////////////
// Led.cpp : implementation file
// Visual Source Safe: $Revision: 1.3 $
//
// Led static control. Will display a LED in 4 different colors and two shapes.
///////////////////////////////////////////////////////////////////////////////
// Copyright (C) 1998-1999 Monte Variakojis ( monte@apollocom.com )
// All rights reserved - not to be sold.
///////////////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "../resource.h"
#include "Led.h"

#if defined(_DEBUG) && !defined(MMGR)
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CLed
#define TIMER_ID_PING        1        // Timer Ping ID

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
CLed::CLed()
{
    m_LedBitmap.LoadBitmap(IDB_LEDS);
    m_nLedColor = LED_COLOR_RED;
    m_nLedMode = LED_OFF;
    m_nLedShape = LED_ROUND;
    m_continuePing = false;
}

CLed::~CLed()
{
    VERIFY(m_LedBitmap.DeleteObject());
}


BEGIN_MESSAGE_MAP(CLed, CStatic)
    //{{AFX_MSG_MAP(CLed)
    ON_WM_PAINT()
    ON_WM_TIMER()
    ON_WM_CREATE()
    ON_WM_ERASEBKGND()
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CLed message handlers

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
void CLed::OnPaint() 
{
    CPaintDC dc(this); // device context for painting
    DrawLed(&dc,m_nLedColor,m_nLedMode,m_nLedShape);
    
    // Do not call CStatic::OnPaint() for painting messages
}


///////////////////////////////////////////////////////////////////////////////
// Name:        SetLed
// Description:    This method will draw the LED to the specified DC.
//
// Entry:
//                CDC *pDC - DC to draw to
//
//                int iLedColor - Where color is defined by:
//                     LED_COLOR_RED
//                    LED_COLOR_GREEN
//                    LED_COLOR_YELLOW
//                    LED_COLOR_BLUE
//
//                int iMode - where mode is defined by:
//                    LED_ON
//                    LED_OFF
//                    LED_DISABLED
//
//                int iShape - where shape is defined by:
//                    LED_ROUND
//                    LED_SQUARE
///////////////////////////////////////////////////////////////////////////////
void CLed::DrawLed(CDC *pDC,int nLEDColor, int nMode, int nShape)
{
    CRect rect;
    GetClientRect(&rect);

    //
    // Center led within an oversized window
    //
    if(rect.Width() >= LED_SIZE && rect.Height() >= LED_SIZE)
    {
        int nWidth = rect.Width();
        int nHeight = rect.Height();
        rect.left += (nWidth - LED_SIZE)/2;
        rect.right -= (nWidth - LED_SIZE)/2;
        rect.top += (nHeight - LED_SIZE)/2;
        rect.bottom -= (nHeight - LED_SIZE)/2;
    }

    //
    // Prepare temporary DCs and bitmaps
    //
    CBitmap TransBitmap;
    TransBitmap.CreateBitmap(LED_SIZE,LED_SIZE,1,1,NULL);
    CBitmap bitmapTemp;
    CBitmap* pBitmap = &m_LedBitmap;
    CDC srcDC;
    CDC dcMask;
    CDC TempDC;
    TempDC.CreateCompatibleDC(pDC);
    srcDC.CreateCompatibleDC(pDC);
    dcMask.CreateCompatibleDC(pDC);

    CBitmap* pOldBitmap = srcDC.SelectObject(pBitmap);
    CBitmap* pOldMaskbitmap = dcMask.SelectObject(&TransBitmap);
    bitmapTemp.CreateCompatibleBitmap(pDC,LED_SIZE,LED_SIZE);

    //
    // Work with tempDC and bitmapTemp to reduce flickering
    //
    CBitmap *pOldBitmapTemp = TempDC.SelectObject(&bitmapTemp);
    TempDC.BitBlt(0, 0, LED_SIZE, LED_SIZE, pDC, rect.left, rect.top, SRCCOPY); 

    //
    // Create mask
    //
    COLORREF OldBkColor = srcDC.SetBkColor(RGB(255,0,255));
    dcMask.BitBlt(0, 0, LED_SIZE, LED_SIZE,&srcDC, nMode*LED_SIZE, nLEDColor+nShape, SRCCOPY); 
    TempDC.SetBkColor(OldBkColor);

    //
    // Using the IDB_LEDS bitmap, index into the bitmap for the appropriate
    // LED. By using the mask color (RGB(255,0,255)) a mask has been created
    // so the bitmap will appear transparent.
    //
    TempDC.BitBlt(0, 0, LED_SIZE, LED_SIZE, &srcDC, nMode*LED_SIZE, nLEDColor+nShape, SRCINVERT); 
    TempDC.BitBlt(0, 0, LED_SIZE, LED_SIZE,&dcMask, 0, 0, SRCAND); 
    TempDC.BitBlt(0, 0, LED_SIZE, LED_SIZE, &srcDC, nMode*LED_SIZE, nLEDColor+nShape, SRCINVERT); 

    //
    // Since the actual minipulation is done to tempDC so there is minimal
    // flicker, it is now time to draw the result to the screen.
    //
    pDC->BitBlt(rect.left, rect.top, LED_SIZE, LED_SIZE, &TempDC, 0, 0, SRCCOPY); 
    
    //
    // House cleaning
    //
    srcDC.SelectObject(pOldBitmap);
    dcMask.SelectObject(pOldMaskbitmap);
    TempDC.SelectObject(pOldBitmapTemp);
    VERIFY(srcDC.DeleteDC());
    VERIFY(dcMask.DeleteDC());
    VERIFY(TempDC.DeleteDC());
    VERIFY(TransBitmap.DeleteObject());
    VERIFY(bitmapTemp.DeleteObject());
}

///////////////////////////////////////////////////////////////////////////////
// Name:        SetLed
// Description:    This method will draw and set led parameters.
//
// Entry:        int iLedColor - Where color is defined by:
//                     LED_COLOR_RED
//                    LED_COLOR_GREEN
//                    LED_COLOR_YELLOW
//                    LED_COLOR_BLUE
//
//                int iMode - where mode is defined by:
//                    LED_ON
//                    LED_OFF
//                    LED_DISABLED
//
//                int iShape - where shape is defined by:
//                    LED_ROUND
//                    LED_SQUARE
///////////////////////////////////////////////////////////////////////////////
void CLed::SetLed(int nLedColor, int nMode, int nShape)
{
    m_nLedColor = nLedColor;
    m_nLedMode = nMode;
    m_nLedShape = nShape;

    CDC *pDC;
    pDC = GetDC();
    DrawLed(pDC, m_nLedColor, m_nLedMode, m_nLedShape);
    ReleaseDC(pDC);
    m_bPingEnabled = FALSE;
}

///////////////////////////////////////////////////////////////////////////////
// Name:        Ping
// Description:    This method will turn the led on for dwTimeout milliseconds and
//                then turn it off.
//
// Entry:        DWORD dwTimeout - Time out in  milliseconds
///////////////////////////////////////////////////////////////////////////////
void CLed::Ping(DWORD dwTimeout)
{
    // Return if pinging
    if (m_bPingEnabled == TRUE)
    {
        m_continuePing = true;
    }
    else
    {
        m_bPingEnabled = TRUE;
        SetLed(m_nLedColor, CLed::LED_ON, m_nLedShape);
        SetTimer(TIMER_ID_PING, dwTimeout, NULL);
    }
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
void CLed::OnTimer(UINT_PTR nIDEvent) 
{
    if (nIDEvent == TIMER_ID_PING)
    {
        if (m_continuePing)
            m_continuePing = false;
        else
        {
            SetLed(m_nLedColor, CLed::LED_OFF, m_nLedShape);
            KillTimer(nIDEvent);
            m_bPingEnabled = FALSE;
        }
    }
    
    CStatic::OnTimer(nIDEvent);
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
BOOL CLed::OnEraseBkgnd(CDC* pDC) 
{
    // No background rendering
    return TRUE;
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0312 ]--