SOL9 2.0 Class: Line

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * Line.h 
 * Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL++2000
#pragma once

#include <sol\Shape.h>


namespace SOL {

class Line :public Shape {
private:
    int x1, y1;
    int x2, y2;
  
public:
    Line(int p1, int q1, int p2 , int q2) {
        x1 = p1; y1 = q1;
        x2 = p2; y2 = q2;
    }

    void    draw(DC* dc) {
            Line::draw(dc, 0, 0);
    }

//    void    draw(DC* dc, int x, int y);
    void draw(DC* dc, int x, int y)
    {
        Pen pen(PS_SOLID, getBorderWidth(), getBackColor());
        HGDIOBJ oldpen =dc ->select(&pen);
        dc -> moveTo(x+x1, y+y1, NULL);
        dc -> lineTo(x+x2, y+y2);
        dc -> select(oldpen);
    }


    void    get(int* p1, int* q1, int* p2, int* q2) {
            *p1 = x1; *q1 = y1;
            *p2 = x2; *q2 = y2;
    }

    void    move(int x, int y) {
            x1 += x; y1 += y;
            x2 += x; y2 += y;
    }

    void    set(int p1, int q1, int p2, int q2) {
            x1 = p1; y1 = q1;
            x2 = p2; y2 = q2;
    }
};

}


Last modified: 1 Feb 2012

Copyright (c) 2009-2012 Antillia.com ALL RIGHTS RESERVED.