void KisTransparencyMaskTest::testApply()
{
    QPoint errpoint;

    KisImageSP image;
    KisPaintLayerSP layer;
    KisPaintDeviceSP dev;
    KisTransparencyMaskSP mask;


    QRect applyRect(0, 0, 200, 100);

    // Everything is selected
    initImage(image, layer, dev, mask);
    mask->initSelection(layer);
    mask->apply(dev, applyRect, applyRect, KisNode::N_FILTHY);
    QImage qimage = dev->convertToQImage(0, 0, 0, 200, 100);

    if (!TestUtil::compareQImages(errpoint,
                                  QImage(QString(FILES_DATA_DIR) + QDir::separator() + "transparency_mask_test_2.png"),
                                  qimage)) {
        QFAIL(QString("Failed to mask out image, first different pixel: %1,%2 ").arg(errpoint.x()).arg(errpoint.y()).toLatin1());
    }

    // Invert the mask, so that nothing will be selected, then select a rect
    initImage(image, layer, dev, mask);
    mask->initSelection(layer);
    mask->selection()->pixelSelection()->invert();
    mask->apply(dev, applyRect, applyRect, KisNode::N_FILTHY);
    qimage = dev->convertToQImage(0, 0, 0, 200, 100);

    if (!TestUtil::compareQImages(errpoint,
                                  QImage(QString(FILES_DATA_DIR) + QDir::separator() + "transparency_mask_test_1.png"),
                                  qimage)) {
        QFAIL(QString("Failed to mask in image, first different pixel: %1,%2 ").arg(errpoint.x()).arg(errpoint.y()).toLatin1());
    }

    initImage(image, layer, dev, mask);
    mask->initSelection(layer);
    mask->selection()->pixelSelection()->invert();
    mask->select(QRect(50, 0, 100, 100));
    mask->apply(dev, applyRect, applyRect, KisNode::N_FILTHY);
    qimage = dev->convertToQImage(0, 0, 0, 200, 100);

    if (!TestUtil::compareQImages(errpoint,
                                  QImage(QString(FILES_DATA_DIR) + QDir::separator() + "transparency_mask_test_3.png"),
                                  qimage)) {

        QFAIL(QString("Failed to apply partial mask, first different pixel: %1,%2 ").arg(errpoint.x()).arg(errpoint.y()).toLatin1());
    }

}
Пример #2
0
Matrix::Matrix(ScriptingEnv *env, const QImage& image, const QString& label, ApplicationWindow* parent, const QString& name, Qt::WFlags f)
: MdiSubWindow(parent, label, name, f), Scripted(env)
{
  m_bk_color = QColor(255, 255, 128);
  m_matrix_icon = getQPixmap("matrix_xpm");
  initImage(image);
}
Пример #3
0
/**
 * Resizes the image so that the resulting sheet has a new size and the image
 * content is zoomed to fit best into the sheet, while keeping it's aspect ration.
 *
 * @param w the new width to resize to
 * @param h the new height to resize to
 */
void resize(int w, int h, struct IMAGE* image) {
    struct IMAGE newimage;
    int ww;
    int hh;
    float wRat;
    float hRat;
    
    if (verbose >= VERBOSE_NORMAL) {
        printf("resizing %dx%d -> %dx%d\n", image->width, image->height, w, h);
    }

    wRat = (float)w / image->width;
    hRat = (float)h / image->height;
    if (wRat < hRat) { // horizontally more shrinking/less enlarging is needed: fill width fully, adjust height
        ww = w;
        hh = image->height * w / image->width;
    } else if (hRat < wRat) {
        ww = image->width * h / image->height;
        hh = h;
    } else { // wRat == hRat
        ww = w;
        hh = h;
    }
    stretch(ww, hh, image);
    initImage(&newimage, w, h, image->bitdepth, image->color, image->background);
    centerImage(image, 0, 0, w, h, &newimage);
    replaceImage(image, &newimage);
}
Пример #4
0
void KisFilterMaskTest::testProjectionSelected()
{
    KisImageSP image;
    KisPaintLayerSP layer;

    const KoColorSpace * cs = KoColorSpaceRegistry::instance()->rgb8();

    QImage qimage(QString(FILES_DATA_DIR) + QDir::separator() + "hakonepa.png");
    QImage inverted(QString(FILES_DATA_DIR) + QDir::separator() + "inverted_hakonepa.png");

    KisFilterSP f = KisFilterRegistry::instance()->value("invert");
    Q_ASSERT(f);
    KisFilterConfiguration * kfc = f->defaultConfiguration(0);
    Q_ASSERT(kfc);

    KisFilterMaskSP mask = new KisFilterMask();
    mask->setFilter(kfc);
    mask->createNodeProgressProxy();

    KisPaintDeviceSP projection = new KisPaintDevice(cs);
    initImage(image, layer, projection, mask);
    projection->convertFromQImage(qimage, 0, 0, 0);

    mask->initSelection(layer);
    mask->select(qimage.rect(), MAX_SELECTED);
    mask->apply(projection, qimage.rect(), qimage.rect(), KisNode::N_FILTHY);
    QCOMPARE(mask->exactBounds(), QRect(0, 0, IMAGE_WIDTH, IMAGE_HEIGHT));

    QPoint errpoint;
    if (!TestUtil::compareQImages(errpoint, inverted, projection->convertToQImage(0, 0, 0, qimage.width(), qimage.height()))) {
        projection->convertToQImage(0, 0, 0, qimage.width(), qimage.height()).save("filtermasktest2.png");
        QFAIL(QString("Failed to create inverted image, first different pixel: %1,%2 ").arg(errpoint.x()).arg(errpoint.y()).toLatin1());
    }

}
void KisCoordinatesConverterTest::testConsistency()
{
    KisImageSP image;
    KisCoordinatesConverter converter;
    initImage(&image, &converter);

    converter.setImage(image);
    converter.setDocumentOffset(QPoint(20,30));
    converter.setCanvasWidgetSize(QSize(500,500));

    QRectF testRect(100,100,100,100);
    QTransform imageToWidget;
    QTransform documentToWidget;
    QTransform viewportToWidget;

    converter.setZoom(0.5);

    imageToWidget = converter.imageToWidgetTransform();
    documentToWidget = converter.documentToWidgetTransform();
    viewportToWidget = converter.viewportToWidgetTransform();

    QRectF fromImage = converter.viewportToWidget(converter.imageToViewport(testRect));
    QRectF fromDocument = converter.documentToWidget(testRect);
    QRectF fromViewport = converter.viewportToWidget(testRect);

    CHECK_TRANSFORM(imageToWidget, testRect, fromImage);
    CHECK_TRANSFORM(documentToWidget, testRect, fromDocument);
    CHECK_TRANSFORM(viewportToWidget, testRect, fromViewport);
}
void KisCoordinatesConverterTest::testRotation()
{
    KisImageSP image;
    KisCoordinatesConverter converter;
    initImage(&image, &converter);

    QSize widgetSize(1000,500);
    QRectF testRect(800, 100, 300, 300);

    converter.setImage(image);
    converter.setDocumentOffset(QPoint(0,0));
    converter.setCanvasWidgetSize(widgetSize);

    converter.rotate(converter.widgetCenterPoint(), 30);
    converter.setZoom(1.);

    QTransform viewportToWidget = converter.viewportToWidgetTransform();

    QRectF boundingRect = viewportToWidget.mapRect(testRect);
    QRectF directRect = converter.viewportToWidget(testRect);

    QCOMPARE(boundingRect, directRect);

    QRectF referenceRect(QPointF(742.82,53.5898), QSizeF(409.808,409.808));

#define FUZZY(a,b) ((a)-(b) < 0.01)

    QVERIFY(FUZZY(boundingRect.top(), referenceRect.top()));
    QVERIFY(FUZZY(boundingRect.left(), referenceRect.left()));
    QVERIFY(FUZZY(boundingRect.width(), referenceRect.width()));
    QVERIFY(FUZZY(boundingRect.height(), referenceRect.height()));
}
Пример #7
0
 CrwImage::CrwImage(BasicIo::AutoPtr io, bool create)
     : io_(io)
 {
     if (create) {
         initImage(blank_, sizeof(blank_));
     }
 } // CrwImage::CrwImage
void KisCoordinatesConverterTest::testMirroringCanvasBiggerThanImage()
{
    KisImageSP image;
    KisCoordinatesConverter converter;
    initImage(&image, &converter);

    QSize widgetSize(2000,2000);
    QSize flakeSize(1000,1000);
    QRectF testRect(300, 100, 200, 200);

    converter.setImage(image);
    converter.setDocumentOffset(QPoint(-50,-50));
    converter.setCanvasWidgetSize(widgetSize);

    QTransform imageToWidget;
    QTransform documentToWidget;
    QTransform flakeToWidget;
    QTransform viewportToWidget;

    converter.mirror(converter.imageCenterInWidgetPixel(), true, false);
    converter.setZoom(1.);

    // image pixels == flake pixels

    QRectF viewportRect = converter.imageToViewport(testRect);
    QRectF widgetRect = converter.viewportToWidget(viewportRect);

    QCOMPARE(widgetRect, QRectF(550,150,200,200));
    QCOMPARE(viewportRect, QRectF(300,100,200,200));
}
Пример #9
0
IplImage * createImage(int w, int h,int channels)
{
   IplImage * img = NULL;
   img = cvCreateImage(cvSize(w,h),IPL_DEPTH_8U,channels);
   initImage(img,0);
   return img;
}
Пример #10
0
int main(int argc, char *argv[])
{
	if(argc!=3)
	{
		//fprintf(stderr,"Usage: server [portnum] [file-system-image]\n");
		exit(0);
	}

	int portNum=atoi(argv[1]);
	sprintf(imgName,argv[2]);

	//Open the port
	sd=UDP_Open(portNum);
	assert(sd != -1);

	initImage(imgName);
	
	char buffer[sizeof(msg_t)];
	//Server listening in loop
	while(1)
	{
		//read incoming message from port
		int rc=UDP_Read(sd, &addr, buffer, sizeof(msg_t));
		if(rc>0)
		{
			handleRequest(buffer);
			rc = UDP_Write(sd, &addr, buffer, sizeof(msg_t));//Send back the response to the client
		}
	}

	return 0;
}
Пример #11
0
 JpegBase::JpegBase(int type, BasicIo::AutoPtr io, bool create,
                    const byte initData[], long dataSize)
     : Image(type, mdExif | mdIptc | mdComment, io)
 {
     if (create) {
         initImage(initData, dataSize);
     }
 }
Пример #12
0
extern struct image* mockupMatrix(){
  int i;
  for(i = 0; i < 100; i++){
    mat[i] = i;
  }
  struct image* img = initImage(mat, 10, 10);
  return img;
}
Пример #13
0
UIWidget::UIWidget()
{
    m_lastFocusReason = Fw::ActiveFocusReason;
    m_states = Fw::DefaultState;

    initBaseStyle();
    initText();
    initImage();
}
QImage utils::StrokeTester::doStroke(bool cancelled,
                                     bool indirectPainting,
                                     bool externalLayer,
                                     bool testUpdates,
                                     bool needQImage)
{
    KisImageSP image = utils::createImage(0, m_imageSize);
    KoCanvasResourceManager *manager = utils::createResourceManager(image, 0, m_presetFilename);
    KisNodeSP currentNode;

    for (int i = 0; i < m_numIterations; i++) {
        modifyResourceManager(manager, image, i);

        KisPainter *painter = new KisPainter();
        KisResourcesSnapshotSP resources =
            new KisResourcesSnapshot(image,
                                     image->rootLayer()->firstChild(),
                                     image->postExecutionUndoAdapter(),
                                     manager);

        if(externalLayer) {
            KisNodeSP externalNode = new KisPaintLayer(0, "extlyr", OPACITY_OPAQUE_U8, image->colorSpace());
            resources->setCurrentNode(externalNode);
            Q_ASSERT(resources->currentNode() == externalNode);
        }

        initImage(image, resources->currentNode(), i);

        KisStrokeStrategy *stroke = createStroke(indirectPainting, resources, painter, image);
        m_strokeId = image->startStroke(stroke);
        addPaintingJobs(image, resources, painter, i);

        if(!cancelled) {
            image->endStroke(m_strokeId);
        }
        else {
            image->cancelStroke(m_strokeId);
        }

        image->waitForDone();
        currentNode = resources->currentNode();
    }

    QImage resultImage;
    if(needQImage) {
        KisPaintDeviceSP device = testUpdates ?
            image->projection() :
            currentNode->paintDevice();

        resultImage = device->convertToQImage(0, 0, 0, image->width(), image->height());
    }

    image = 0;
    delete manager;
    return resultImage;
}
Пример #15
0
metaImage * sag2coron (metaImage * imageS) {

    double conf[12];
    double dim[3], dimNew[3];
    int dimInt[3];
    metaImage imageTemp;
    int i,j,k;

    dim[0] = imageS->dimx;
    dim[1] = imageS->dimy;
    dim[2] = imageS->slices;

    double matrixOut[9];

    for(i = 0; i < 12; i++) {
        if (i<9) matrixOut[i] = 0;
        conf[i] = 0;

    }

    //Rotation around X of -90 degrees (positive is counterclockwise)
    conf[5] = -M_PI*0.5;

    //Zooming should be 1
    conf[6] = conf[8] = 1;
    conf[7] = 1;



    forwardMatrix(matrixOut, conf);

    transformLight(dim, matrixOut, dimNew, conf);

    for(i =0; i<3; i++) {
        dimInt[i] = rint(abs(dimNew[i]));

    }


    printf("%d	%d	%d\n",dimInt[2], dimInt[0], dimInt[1]);
//  printf("%f %f %f\n",imageTemp->resolution[2], imageTemp->resolution[0], imageTemp->resolution[1]);


    initImage(dimInt[2], dimInt[0], dimInt[1], &imageTemp, BACKGROUND);
    setResolution(&imageTemp, imageS->resolution);

    inverseMappingNewLight(imageS, &imageTemp, conf, metaWriteMatrix, trilinearInterp);

    metaImage * pointer = &imageTemp;

//  deInit(imageS);

    return pointer;

}
Пример #16
0
UIWidget::UIWidget()
{
    m_lastFocusReason = Fw::ActiveFocusReason;
    m_states = Fw::DefaultState;
    m_clickTimer.stop();
    m_autoRepeatDelay = 500;

    initBaseStyle();
    initText();
    initImage();
}
Пример #17
0
ImageInstance::ImageInstance(const QString &file):
    rawType(false),
    rawImage(0),
    cachedRawCenter(0),
    cachedRawWidth(-1),
    dcmImage(0),
    cachedCenter(0),
    cachedWidth(-1),
    filePath(file)
{
    initImage(file);
}
Пример #18
0
void ViewerOperation::initExecution()
{
	// When initializing the tree during initial load the width and height can be zero.
	this->m_imageInput = getInputSocketReader(0);
	this->m_alphaInput = getInputSocketReader(1);
	this->m_depthInput = getInputSocketReader(2);
	this->m_doDepthBuffer = (this->m_depthInput != NULL);
	
	if (isActiveViewerOutput()) {
		initImage();
	}
}
Пример #19
0
void KisTransparencyMaskTest::testMoveMaskItself()
{
    KisImageSP image;
    KisPaintLayerSP layer;
    KisPaintDeviceSP dev;
    KisTransparencyMaskSP mask;

    initImage(image, layer, dev, mask);
    mask->initSelection(layer);
    mask->selection()->pixelSelection()->invert();
    mask->select(QRect(50, 50, 100, 100));

    KisFullRefreshWalker walker(image->bounds());
    KisAsyncMerger merger;

    walker.collectRects(layer, image->bounds());
    merger.startMerge(walker);

    // image->projection()->convertToQImage(0, 0,0,300,300).save("proj_before.png");

    QRect initialRect(0,0,200,100);
    QCOMPARE(layer->exactBounds(), initialRect);
    QCOMPARE(image->projection()->exactBounds(), QRect(50,50,100,50));


    //layer->setX(100);
    //layer->setY(100);

    dbgKrita << "Sel. rect before:" << mask->selection()->selectedExactRect();

    mask->setX(50);
    mask->setY(25);

    dbgKrita << "Sel. rect after:" << mask->selection()->selectedExactRect();


    QCOMPARE(mask->selection()->selectedExactRect(), QRect(100, 75, 100, 100));
    QCOMPARE(layer->paintDevice()->exactBounds(), initialRect);
    QCOMPARE(layer->projection()->exactBounds(), QRect(50, 50, 100, 50));

    dbgKrita << "";

    QRect updateRect(0,0,300,300);

    walker.collectRects(mask, updateRect);
    merger.startMerge(walker);

    // image->projection()->convertToQImage(0, 0,0,300,300).save("proj_after.png");

    QCOMPARE(layer->paintDevice()->exactBounds(), initialRect);
    QCOMPARE(layer->projection()->exactBounds(), QRect(100, 75, 100, 25));
}
void TelegramImageElement::setQmlImageCreationCode(const QString &code)
{
    if(p->qmlImageCreationCode == code)
        return;

    p->qmlImageCreationCode = code;
    if(p->image)
        delete p->image;
    p->image = 0;

    initImage();
    Q_EMIT qmlImageCreationCodeChanged();
}
Пример #21
0
//! [0]
TabletCanvas::TabletCanvas()
{
    resize(500, 500);
    myBrush = QBrush();
    myPen = QPen();
    initImage();
    setAutoFillBackground(true);
    deviceDown = false;
    myColor = Qt::red;
    myTabletDevice = QTabletEvent::Stylus;
    alphaChannelType = NoAlpha;
    colorSaturationType = NoSaturation;
    lineWidthType = LineWidthPressure;
}
Пример #22
0
Файл: rc.c Проект: galexcode/w3m
void
sync_with_option(void)
{
    if (PagerMax < LINES)
	PagerMax = LINES;
    WrapSearch = WrapDefault;
    parse_proxy();
#ifdef USE_COOKIE
    parse_cookie();
#endif
    initMailcap();
    initMimeTypes();
#ifdef USE_EXTERNAL_URI_LOADER
    initURIMethods();
#endif
#ifdef USE_MIGEMO
    init_migemo();
#endif
#ifdef USE_IMAGE
    if (fmInitialized && displayImage)
	initImage();
#else
    displayImage = FALSE;	/* XXX */
#endif
    loadPasswd();
    loadPreForm();

    if (AcceptLang == NULL || *AcceptLang == '\0') {
	/* TRANSLATORS: 
	 * AcceptLang default: this is used in Accept-Language: HTTP request 
	 * header. For example, ja.po should translate it as
	 * "ja;q=1.0, en;q=0.5" like that.
	 */
	AcceptLang = _("en;q=1.0");
    }
    if (AcceptEncoding == NULL || *AcceptEncoding == '\0')
	AcceptEncoding = acceptableEncoding();
    if (AcceptMedia == NULL || *AcceptMedia == '\0')
	AcceptMedia = acceptableMimeTypes();
    if (fmInitialized) {
	initKeymap(FALSE);
#ifdef USE_MOUSE
	initMouseAction();
#endif				/* MOUSE */
#ifdef USE_MENU
	initMenu();
#endif				/* MENU */
    }
}
void KisCoordinatesConverterTest::testImageCropping()
{
    KisImageSP image;
    KisCoordinatesConverter converter;
    initImage(&image, &converter);

    converter.setImage(image);
    converter.setDocumentOffset(QPoint(0,0));
    converter.setCanvasWidgetSize(QSize(500,500));

    converter.setZoom(1.);

    // we do NOT crop here
    QCOMPARE(converter.viewportToImage(QRectF(900,900,200,200)),
             QRectF(900,900,200,200));
}
Пример #24
0
bool Image::load(std::string fileName, int iAlpha /* =-1 */)
{
	//Temporary storage for the image that's loaded 
	SDL_Surface* loadedImage = NULL; 

	 //Load the image 
//	loadedImage = SDL_LoadBMP( fileName.c_str() );	//using SDL dll
	loadedImage = IMG_Load(fileName.c_str());		//using SDL_Image dll (png, jpg etc)
	if (NULL == loadedImage)
	{
		std::cerr << "Failed to load image " << fileName << ". Cannot start." << std::endl;
		return false;
	}

	return initImage(loadedImage, iAlpha);
}
Пример #25
0
/**
 * Shifts the image.
 *
 * @param shiftX horizontal shifting
 * @param shiftY vertical shifting
 */
void shift(int shiftX, int shiftY, struct IMAGE* image) {
    struct IMAGE newimage;
    int x;
    int y;
    int pixel;

    // allocate new buffer's memory
    initImage(&newimage, image->width, image->height, image->bitdepth, image->color, image->background);
    
    for (y = 0; y < image->height; y++) {
        for (x = 0; x < image->width; x++) {
            pixel = getPixel(x, y, image);
            setPixel(pixel, x + shiftX, y + shiftY, &newimage);
        }
    }
    replaceImage(image, &newimage);
}
void TelegramImageElement::setImage(const QString &image)
{
    initImage();
    if(QFileInfo(image).exists())
    {
        QImageReader reader(image);
        p->imageSize = reader.size();
    }
    else
        p->imageSize = QSizeF();

    QVariant value = (image.isEmpty() ? QUrl() : QUrl::fromLocalFile(image));
    p->image->setProperty("source", value);
    p->properties["source"] = value;

    Q_EMIT imageSizeChanged();
    Q_EMIT currentImageChanged();
}
Пример #27
0
static void
raster_keys(unsigned char key, int x, int y)
{
        (void) x;
        (void) y;
        switch (key) {
                case 'b':                       /* photometric MinIsBlack */
                    photo = PHOTOMETRIC_MINISBLACK;
                    initImage();
                    break;
                case 'l':                       /* lsb-to-msb FillOrder */
                    order = FILLORDER_LSB2MSB;
                    initImage();
                    break;
                case 'm':                       /* msb-to-lsb FillOrder */
                    order = FILLORDER_MSB2LSB;
                    initImage();
                    break;
                case 'w':                       /* photometric MinIsWhite */
                    photo = PHOTOMETRIC_MINISWHITE;
                    initImage();
                    break;
                case 'W':                       /* toggle warnings */
                    owarning = TIFFSetWarningHandler(owarning);
                    initImage();
                    break;
                case 'E':                       /* toggle errors */
                    oerror = TIFFSetErrorHandler(oerror);
                    initImage();
                    break;
                case 'z':                       /* reset to defaults */
                case 'Z':
                    order = order0;
                    photo = photo0;
                    if (owarning == NULL)
                        owarning = TIFFSetWarningHandler(NULL);
                    if (oerror == NULL)
                        oerror = TIFFSetErrorHandler(NULL);
                    initImage();
                    break;
                case 'q':                       /* exit */
                case '\033':
                    cleanup_and_exit();
        }
        glutPostRedisplay();
}
Пример #28
0
void InstagramView::urlResponse(ofHttpResponse & response){
	ofUnregisterURLNotification(this);

	if(response.status != 200){
		return;
	}
	
	if(response.request.url == _args.imageUrl){
		initImage(response.request.name);
	}
	
	if(response.request.url == _args.videoUrl){
		initVideo(response.request.name);
	}
	
	if(response.request.url == _args.profilePictureUrl){
		initProfileImage(response.request.name);
	}
}
Пример #29
0
int main(void)
{
    initImage();
    initPlace();

    large_font = read_font("font.txt");
    initAudio();
    initAudioNUM();

    int IsEnding = 0;
    showingPlane = START_PLANE;

    while (!IsEnding)
    {
        clearScreen();

        switch (showingPlane)
        {
        case 0:
            start();
            showingPlane = 1;
            break;
        case 1:
            Menu();
            break;
        case 2:
            SinglePlayer();
            break;
        case 3:
            MuitiplePlayers();
            break;
        case 4:
            ShowHelp();
            showingPlane = 1;
            break;
        }

        drawCmdWindow();

    } /* while (IsEnding) */

    return 0;
}
Пример #30
0
/**
 * @brief Waveform::display
 *
 * Affiche le sonogramme du morceau chargé.
 */
void Waveform::display()
{
	initImage();

	int beg = ((SimpleMusicPlayer*) m_parent)->getWaveBegin(); //première sample affichée
	int end = ((SimpleMusicPlayer*) m_parent)->getWaveEnd();
	float size = end - beg; // nb de samples affichées

	int s_beg = QTimeToSample(m_beginTime);
	int s_bar = QTimeToSample(m_barTime);
	int s_end = QTimeToSample(m_endTime);

	float tmp_begin = (((float) s_beg - (float) beg) / size);
	float tmp_end   = (((float) s_end - (float) beg) / size);
	float tmp_bar   = (((float) s_bar - (float) beg) / size);

	int pos_begin = tmp_begin * m_width;
	int pos_bar   = tmp_bar * m_width;
	int pos_end   = tmp_end * m_width;

	//dessin du graphe
	for(unsigned int i = 0; i < m_width ; i++)
	{
		drawColumn(i, beg, end, s_beg, s_end, pos_begin, pos_end);
	}


	//dessin des barres
	if(s_beg > beg && s_beg < end)
	{
		simpleDrawColumn(pos_begin, m_height, m_delimiterPen);
	}

	if(s_bar > beg && s_bar < end)
	{
		simpleDrawColumn(pos_bar, m_height, m_delimiterPen);
	}

	if(s_end > beg && s_end < end)
	{
		simpleDrawColumn(pos_end, m_height, m_delimiterPen);
	}
}