Commit Graph

240 Commits

Author SHA1 Message Date
Bill Medland
7d983d244a Pass information through arguments instead of static variables.
Add protection to prevent reading outside the buffer.
Better handling of degenerate cases.
2002-03-11 01:15:31 +00:00
Alexandre Julliard
0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Andriy Palamarchuk
812bc5298b Added SystemParametersInfo unit test. 2002-02-27 21:32:18 +00:00
Bill Medland
bc39eeec40 Correct Word breaking in centred/right justified mode; it was leaving a
trailing space which it should only do for left-justified text.
Also tighten up some comments.
2002-02-26 00:39:30 +00:00
Eric Pouech
92e838f263 Fixed DdeGetData when called for getting size. 2002-02-26 00:37:57 +00:00
Peter Hunnisett
73ab649ced New file msvcrt/excpt.h. Move some stuff out of winnt.h into it. 2002-02-25 20:10:35 +00:00
Bill Medland
7423dc0463 DrawText ellipsification on all lines, not just single-line. 2002-02-21 20:07:26 +00:00
Bill Medland
8513907f2c Drawtext tidying up ready for the next big change:
- Fix brainfade in previous delta
- Move ellipsification results to static memory; they are going to
  have to be referenced inside NextLineW and the arg list is too big
  already.
- Add the missing ellipsification result (len_under) to simplify coding.
- Slight correction to prefix tracking for when there are several
  underlined characters on a single line (DT_EXPANDTABS only).
- Allocate and free the temporary copy required for DT_MODIFYSTRING
  rather than using a fixed size stack array.
- Introduce lastline into the main loop; it simplifies the code and we
  are going to need it.
2002-02-20 18:56:18 +00:00
Bill Medland
7af9098f6b Change the way that DrawText parses the next line to display, ready to
support multiline ellipsification etc.  Rather than measuring the text
each time we add a character and breaking once it is too long and
WORDBREAK is enabled, we copy a whole text segment and then measure
it; GetTextExtentPointEx is designed to tell us how much fitted.  This
may result in a little rescanning if wordbreak is enabled but will be
well worth while when multiline path ellipsification is brought down
into the NextLine function.  Note also that the wordbreak calculation
is a little more complete (e.g.  including break-within-word for
DT_EDITCONTROL).
2002-02-19 18:25:53 +00:00
Patrik Stridvall
651a8ba880 Added some defines for compatibility with Windows headers. 2002-02-15 19:12:35 +00:00
Bill Medland
0f9013f7e0 Measure the text more reasonably. This handles intercharacter spacing
and should handle any kerning etc. that might happen. Also ensure no
wordbreaking on singleline text.
2002-02-15 18:21:59 +00:00
Bill Medland
92d77c9bb2 DrawText should not split words just because of clipping. 2002-02-14 19:21:59 +00:00
Bill Medland
cabe8ca580 Put in place a proper tab model within DrawText (also includes
simplifying TEXT_NextLineW to remove duplicate code).
2002-02-12 18:40:36 +00:00
Bill Medland
afe92e8e8a Split the path and word/end ellipsification out of the main function
and do them thoroughly. The existing method would be incorrect where
tabs were involved and in some kerning situations.
2002-02-05 18:07:04 +00:00
Patrik Stridvall
57e5784c21 Move __stdcall/__cdecl to the right place. 2002-02-02 18:42:11 +00:00
Bill Medland
fdb799aa6a Ensure that the whole modified text is returned from DrawTextExA. 2002-02-02 18:14:35 +00:00
Andreas Mohr
2295e87be8 Fixed some more missing parenthesis issues. 2002-02-02 18:06:03 +00:00
Bill Medland
001e732c41 - Introduce a significant design decision.
- Recalculate the prefix location if ellipsification alters it.  This
  carefully does NOT emulate a Microsoft bug in which reprefixing is
  wrong when the first character removed by ellipsification is the one
  that would have been underlined (under Win98 at least).
2002-01-31 20:44:39 +00:00
Bill Medland
a4605ac000 Put the prefix-underline-drawing away into it's own function so we can
see what is happening.
2002-01-29 02:46:09 +00:00
Eric Pouech
01ff68943d Fixed initialisation messages for raw DDE.
Fixed DdeCreateDataHandle for non NULL or CF_TEXT formats.
Various fixes (cosmetics, better error checking).
2002-01-18 19:30:15 +00:00
Eric Pouech
0faceb05fc Implemented interprocess DDE message posting. 2002-01-18 19:22:55 +00:00
Bill Medland
fcb8e0d77a - Don't string copy from uninitialised stack memory. In fact don't
modify the input string if it didn't change.
- Correct array size.
- Logically separate the centring from the ellipsification.
- Comment on prefix error.
2002-01-18 18:09:09 +00:00
Rein Klazes
49762a3a50 Move the implementation of comctl32._TrackMouseEvent to
user32.TrackMouseEvent and call this function in accordance with the
specs.
2002-01-15 20:41:41 +00:00
Bill Medland
fd59f34ec0 First stage of DrawText upgrade.
- Rearrange code into three distinct areas; DrawText, GrayString,
  TabbedText.
- Remove unused macros.
- Modify treatment of Tab arguments to fit with observed behaviour.
  e.g. DrawTextEx with DT_TABSTOP but null dtp will not take the
  setting from the flags.  Also only uses bits 15 to 8, not the
  higher bits.
2002-01-15 20:29:35 +00:00
Alexandre Julliard
466b2b474a Updated debug channels. 2002-01-12 21:17:10 +00:00
Patrik Stridvall
19d66cc1f6 Fixed some issues found by winapi_check. 2002-01-07 21:16:46 +00:00
Mike McCormack
0964495bc4 - Don't use event flags with ReadFileEx and WriteFileEx.
- Use overlapped structure with WriteFile, since FILE_FLAG_OVERLAPPED
  is specified.
- Cancel overlapped operations in CloseComm.
2002-01-07 18:04:50 +00:00
Sander van Leeuwen
500c201b0a Fixed DC leak. 2002-01-04 21:26:56 +00:00
Alexandre Julliard
80a3bb4fc0 Removed LoadOEMResource from USER driver. 2002-01-04 18:27:41 +00:00
Alexandre Julliard
cc2d3826f1 Use DrawFrameControl instead of bitmaps in certain cases.
Moved remaining OEM bitmaps to user32 resources.
2002-01-03 02:35:23 +00:00
Alexandre Julliard
2cc54c8c49 Moved the OEM bitmaps that don't depend on the Wine look into the
user32 resources.
2002-01-02 21:49:23 +00:00
Alexandre Julliard
193cf50a09 Removed some of the calls to HEAP_strdup* functions. 2002-01-01 00:24:30 +00:00
Andreas Mohr
6924967539 Fixed, added or implemented stubs:
- DrawMenuBarTemp(): corrected parameter count.
- CallCPLEntry16(): stub.
- SetSysColorsTemp(): fully implemented (hopefully) this undocumented
  function.
2001-12-26 20:34:12 +00:00
Michael Stefaniuc
1b3c04d2c1 Check the return value of *snprintf for C99 style overflow reporting. 2001-12-26 19:48:15 +00:00
Mike McCormack
096524c5bf Use alertable waits in PeekMessage16 and GetMessage16 so we can
process APCs for 16bit comms.
2001-12-26 19:46:40 +00:00
Alexandre Julliard
851297919b Use MapLS/UnMapLS instead of SEGPTR_* macros. 2001-12-24 20:30:24 +00:00
Alexandre Julliard
d7b76822ef Use MapLS/UnMapLS instead of SEGPTR_* macros. 2001-12-20 00:19:40 +00:00
Alexandre Julliard
8eeed94f5f Export DestroyIcon32 from user32 and use GetProcAddress to call it
from FreeResource16.
2001-12-17 21:40:56 +00:00
Alexandre Julliard
7e49205d5a Changed 16-bit USER Enum* functions to not use thunks, now that 16-bit
Winelib is no longer supported.
2001-12-17 21:37:53 +00:00
Alexandre Julliard
9ec81d1673 Got rid of dynamic thunk allocation in mouse/keyboard event procs and
window hooks.
2001-12-17 21:35:42 +00:00
Alexandre Julliard
70b7619ad6 Changed 16->32 window procedure thunks to use winebuild-generated
entry code directly.
2001-12-14 23:15:44 +00:00
Alexandre Julliard
4964c0f185 Started rewrite of painting functions for multiple processes. Moved
BeginPaint to dlls/user. Fixed bug in paint count handling.
2001-12-13 01:03:30 +00:00
Mike McCormack
5355a7870b Only RTS_CONTROL_HANDSHAKE should set CRTSCTS. 2001-12-13 00:57:58 +00:00
Andriy Palamarchuk
2489dc901d Implemented processing for actions: SPI_GET/SETGRIDGRANULARITY,
SPI_GET/SETICONTITLEWRAP, SPI_GET/SETMENUDROPALIGNMENT,
SPI_GET/SETDOUBLECLKWIDTH, SPI_GET/SETDOUBLECLKHEIGHT,
SPI_GET/SETDOUBLECLICKTIME.
2001-12-06 22:28:43 +00:00
Andriy Palamarchuk
c7de3401ac Removed Get/SetScreenSaveTimeout user driver functions because they
are not used.
2001-11-30 23:15:32 +00:00
Alexandre Julliard
9caa71eef4 Redesign of the server communication protocol to allow arbitrary sized
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Mike McCormack
cce46e5760 Check for completed overlappeds in ReadComm16 to solve problems with
programs that loop on it but don't get data.
2001-11-23 18:26:30 +00:00
Alexandre Julliard
47f9821817 Moved WIN_FindWinToRepaint functionality to the server. 2001-11-14 21:28:36 +00:00
Lawson Whitney
9eaefced36 Cast id to unsigned in GetDlgItem16. 2001-11-12 15:49:38 +00:00
Joshua Thielen
80e7837105 Changed BM_ messages SETCHECK and GETCHECK to SETCHECK16 and
GETCHECK16 in CheckDlgItem16 and IsDlgItemChecked16.
Cast UINT16 value to UINT or INT depending on sign in SetDlgItemInt16.
2001-11-09 19:18:45 +00:00