Changeset 65


Ignore:
Timestamp:
Mar 12, 2006, 8:33:32 PM (19 years ago)
Author:
dmik
Message:

Fixed drawing of alpha pixmaps (drawing a part of the pixmap with the alpha channel caused erroneous alpha channel shifts and visual pixmap distortions).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel/qpaintdevice_pm.cpp

    r61 r65  
    319319    uchar *dst_ptr = dst + px_sz * dst_x;
    320320    uchar *src_ptr = src + px_sz * sx;
    321     uchar *a_ptr = alpha ? alpha + sx : 0;
     321    uchar *a_ptr = alpha ? alpha + sy * src_w + sx : 0;
    322322    int dst_inc = dst_bpl - px_sz * w;
    323323    int src_inc = src_bpl - px_sz * w;
     324    int a_inc = src_w - w;
    324325    int px_skip = px_sz - 3;
    325326   
     
    351352            dst_ptr += dst_inc;
    352353            src_ptr += src_inc;
     354            a_ptr += a_inc;
    353355        }
    354356    } else {
Note: See TracChangeset for help on using the changeset viewer.