NCLua TODO -- Tasks that need implementing.                    -*-outline-*-

* KNOWN BUGS

  + nclua/event/socket.c: Pending operations on disconnect_finished().

    The disconnect_finished() function should cancel pending send or receive
    operations.  Otherwise, the 'disconnect' event will cause these
    operations to fail with 'Socket closed' error.  Currently, to avoid
    reporting such errors, we check if the socket is connected before
    dispatching errors.

* FEATURES OR PROBLEMS

  + lib/ncluaw.c: Check event syntax in ncluaw_send().

    The ncluaw_send() function should check the syntax of its event
    parameter.

  + nclua/canvas.c: Add canvas:_resize (new_w, new_h).

    Currently, it is not possible to resize the surface of a canvas.  As a
    workaround, you can allocate another canvas and then compose the
    original one scaled onto the new canvas, but this is not a true resize
    operation.

  + src/nclua.c: Add options to the nclua standalone player.

    Some useful options:
      --version     print version information
      --help        print help information
      --debug       print debugging information
      --load=FILE   load FILE before running the given script
      --plugin=FILE load and registers FILE as a new event plugin

    If no input file is given, nclua should read input from stdin.

  + src/nclua.c: Add some widgets to the player window.

    It would be useful to have a menu bar and status bar.  The latter, for
    example, could show the current frame-rate.  These could be enable or
    disabled via option flags.

  + src/nclua.c: Add support to configuration options.

    These could be given via command-line options, environment variables, or
    a configuration file (e.g., ~/.nclua).

  + tests/server.pl: Add HTTP support.

    Currently, the server understands no application protocol.  If we add
    basic HTTP support to it, e.g., via an --http flag, we could remove the
    requirement of an Internet connection from the HTTP tests, viz., http
    event class and http_sock stuff.

  + Generate API documentation.

  + List the problems with the ABNT or ITU-T standards.

    E.g., the standard establishes that the size canvas:attrFont() is given
    in pixels.  This is probably wrong; most APIs support only point values.
    We're thus assuming that font size is given in points.

* OPTIMIZATION AND CLEAN UP

  + src/nclua.c: Improve GTK+ to NCLua key event mapping.

  + build-aux/syntax-check-copyright: Make it project independent.

    This way we can use it in other projects (cf. syntax-check).

  + configure.ac: Move code coverage setup to separated file.

    E.g., configure.ac.coverage.

============================================================================

Copyright (C) 2013-2015 PUC-Rio/Laboratorio TeleMidia

Permission is granted to copy, distribute and/or modify this document under
the terms of the GNU Free Documentation License, Version 1.3 or any later
version published by the Free Software Foundation; with no Invariant
Sections, with no Front-Cover Texts, and with no Back-Cover Texts.  A copy
of the license is included in the "GNU Free Documentation License" file as
part of this distribution.


Local Variables:
mode: outline
outline-regexp: " *[-+*.] \\|"
End:
