Warning, /frameworks/khtml/src/imload/DESIGN.txt is written in an unsupported language. File is not indexed.
0001 0. Goals/Philosophy. 0002 0003 The basic philosophy behind this library's design is simple: the X server is 0004 a shared resource that multiplexes poorly. Therefore, the server is touched 0005 as late as possible, and X memory is conserved (as is for some things main 0006 memory). This makes the worst case much better, but likely makes the best 0007 case worse. 0008 0009 1. Planes. 0010 0011 In displaying images, data has to be moved between client and the server, 0012 and perhaps scaled. The concept underlying this is that of a plane. 0013 The original images data is at the original/source plane, and all the other 0014 planes get the data from it or some other plane. Various scenarios are handled 0015 by stacking planes in a different order. 0016 0017 e.g., here is how a basic displaying looks: 0018 0019 RawPixmapPlane 0020 ^ 0021 | 0022 RawImagePlane <- - - (data from loader) 0023 0024 0025 and a client-side scaling scenario: 0026 0027 RawPixmapPlane 0028 ^ 0029 | 0030 ScaledImagePlane 0031 ^ 0032 | 0033 RawImagePlane <- - - (data from loader) 0034 0035 0036 All planes above the lowest RawImagePlane treat their data as tiles, 0037 and limit the actual resources they use by using the appropriate tile cache 0038 to allocate them. 0039